From 12e9373da2ac1904c975b15732a67d656da1e977 Mon Sep 17 00:00:00 2001 From: Shahul Hameed <10547529+shahthepro@users.noreply.github.com> Date: Tue, 28 Nov 2023 16:12:53 +0530 Subject: [PATCH 1/2] Enable low severity detectors --- contracts/slither.config.json | 1 - contracts/slither.db.json | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/contracts/slither.config.json b/contracts/slither.config.json index 6ba907ef1c..5847b6cf45 100644 --- a/contracts/slither.config.json +++ b/contracts/slither.config.json @@ -1,6 +1,5 @@ { "filter_paths": "mocks|echidna|crytic|OUSDResolutionUpgrade.sol|MixOracle.sol|VaultInitializer.sol|StableMath.sol|openzeppelin|@openzeppelin", - "exclude_low": true, "exclude_informational": true, "detectors_to_exclude": "conformance-to-solidity-naming-conventions,different-pragma-directives-are-used,external-function,assembly,incorrect-equality" } \ No newline at end of file diff --git a/contracts/slither.db.json b/contracts/slither.db.json index 4e7889e0a7..947b03091b 100644 --- a/contracts/slither.db.json +++ b/contracts/slither.db.json @@ -1 +1 @@ -[{"elements": [{"type": "node", "name": "i < assetsMapped.length", "source_mapping": {"start": 2603, "length": 23, "filename_relative": "contracts/strategies/BaseCurveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/BaseCurveStrategy.sol", "filename_short": "contracts/strategies/BaseCurveStrategy.sol", "is_dependency": false, "lines": [71], "starting_column": 29, "ending_column": 52}, "type_specific_fields": {"parent": {"type": "function", "name": "depositAll", "source_mapping": {"start": 2273, "length": 1730, "filename_relative": "contracts/strategies/BaseCurveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/BaseCurveStrategy.sol", "filename_short": "contracts/strategies/BaseCurveStrategy.sol", "is_dependency": false, "lines": [65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseCurveStrategy", "source_mapping": {"start": 536, "length": 11069, "filename_relative": "contracts/strategies/BaseCurveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/BaseCurveStrategy.sol", "filename_short": "contracts/strategies/BaseCurveStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307], "starting_column": 1, "ending_column": 2}}, "signature": "depositAll()"}}}}], "description": "Loop condition i < assetsMapped.length (contracts/strategies/BaseCurveStrategy.sol#71) should use cached array length instead of referencing `length` member of the storage array.\n ", "markdown": "Loop condition [i < assetsMapped.length](contracts/strategies/BaseCurveStrategy.sol#L71) should use cached array length instead of referencing `length` member of the storage array.\n ", "first_markdown_element": "contracts/strategies/BaseCurveStrategy.sol#L71", "id": "00eb856d9eb41c76fa3893d6391c142ff67834587a7816db3ccfea5f906c7beb", "check": "cache-array-length", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "node", "name": "i < assetsMapped.length", "source_mapping": {"start": 3988, "length": 23, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [108], "starting_column": 29, "ending_column": 52}, "type_specific_fields": {"parent": {"type": "function", "name": "collectRewardTokens", "source_mapping": {"start": 2790, "length": 1954, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MorphoCompoundStrategy", "source_mapping": {"start": 608, "length": 7945, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251], "starting_column": 1, "ending_column": 2}}, "signature": "collectRewardTokens()"}}}}], "description": "Loop condition i < assetsMapped.length (contracts/strategies/MorphoCompoundStrategy.sol#108) should use cached array length instead of referencing `length` member of the storage array.\n ", "markdown": "Loop condition [i < assetsMapped.length](contracts/strategies/MorphoCompoundStrategy.sol#L108) should use cached array length instead of referencing `length` member of the storage array.\n ", "first_markdown_element": "contracts/strategies/MorphoCompoundStrategy.sol#L108", "id": "0f668f7a9fbd8dd8cf5f256a648a89ede585af5a1bfb2890671cb61edeaee985", "check": "cache-array-length", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "node", "name": "i < assetsMapped.length", "source_mapping": {"start": 5019, "length": 23, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [134], "starting_column": 29, "ending_column": 52}, "type_specific_fields": {"parent": {"type": "function", "name": "getPendingRewards", "source_mapping": {"start": 4846, "length": 360, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [132, 133, 134, 135, 136, 137, 138, 139], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MorphoCompoundStrategy", "source_mapping": {"start": 608, "length": 7945, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251], "starting_column": 1, "ending_column": 2}}, "signature": "getPendingRewards()"}}}}], "description": "Loop condition i < assetsMapped.length (contracts/strategies/MorphoCompoundStrategy.sol#134) should use cached array length instead of referencing `length` member of the storage array.\n ", "markdown": "Loop condition [i < assetsMapped.length](contracts/strategies/MorphoCompoundStrategy.sol#L134) should use cached array length instead of referencing `length` member of the storage array.\n ", "first_markdown_element": "contracts/strategies/MorphoCompoundStrategy.sol#L134", "id": "125f9e1a415eb9e7fbdcb8c4e5b48f67d49102127bfb2dd609ed19d450e0621a", "check": "cache-array-length", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "node", "name": "i < durations.length", "source_mapping": {"start": 4163, "length": 20, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [136], "starting_column": 29, "ending_column": 49}, "type_specific_fields": {"parent": {"type": "function", "name": "_findDurationRate", "source_mapping": {"start": 4028, "length": 297, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SingleAssetStaking", "source_mapping": {"start": 466, "length": 18304, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562], "starting_column": 1, "ending_column": 2}}, "signature": "_findDurationRate(uint256)"}}}}], "description": "Loop condition i < durations.length (contracts/staking/SingleAssetStaking.sol#136) should use cached array length instead of referencing `length` member of the storage array.\n ", "markdown": "Loop condition [i < durations.length](contracts/staking/SingleAssetStaking.sol#L136) should use cached array length instead of referencing `length` member of the storage array.\n ", "first_markdown_element": "contracts/staking/SingleAssetStaking.sol#L136", "id": "a5e81880592f41137e823b4f15ded88227b6508181f8767dee55d587fde3d611", "check": "cache-array-length", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "node", "name": "i < assetsMapped.length", "source_mapping": {"start": 9693, "length": 23, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.sol", "is_dependency": false, "lines": [278], "starting_column": 33, "ending_column": 56}, "type_specific_fields": {"parent": {"type": "function", "name": "collectRewardTokens", "source_mapping": {"start": 8178, "length": 2692, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.sol", "is_dependency": false, "lines": [239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AaveStrategy", "source_mapping": {"start": 536, "length": 10336, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308], "starting_column": 1, "ending_column": 2}}, "signature": "collectRewardTokens()"}}}}], "description": "Loop condition i < assetsMapped.length (contracts/strategies/AaveStrategy.sol#278) should use cached array length instead of referencing `length` member of the storage array.\n ", "markdown": "Loop condition [i < assetsMapped.length](contracts/strategies/AaveStrategy.sol#L278) should use cached array length instead of referencing `length` member of the storage array.\n ", "first_markdown_element": "contracts/strategies/AaveStrategy.sol#L278", "id": "e931b38970ae25097f584f7e7dd3e72186cff433764ed75bc1d83a29de89d4d1", "check": "cache-array-length", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "function", "name": "_setUniswapUniversalRouter", "source_mapping": {"start": 3522, "length": 320, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.sol", "is_dependency": false, "lines": [104, 105, 106, 107, 108, 109, 110, 111, 112, 113], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseBuyback", "source_mapping": {"start": 546, "length": 7983, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.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, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267], "starting_column": 1, "ending_column": 2}}, "signature": "_setUniswapUniversalRouter(address)"}}, {"type": "node", "name": "IERC20(oToken).approve(universalRouter,0)", "source_mapping": {"start": 3693, "length": 42, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.sol", "is_dependency": false, "lines": [107], "starting_column": 13, "ending_column": 55}, "type_specific_fields": {"parent": {"type": "function", "name": "_setUniswapUniversalRouter", "source_mapping": {"start": 3522, "length": 320, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.sol", "is_dependency": false, "lines": [104, 105, 106, 107, 108, 109, 110, 111, 112, 113], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseBuyback", "source_mapping": {"start": 546, "length": 7983, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.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, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267], "starting_column": 1, "ending_column": 2}}, "signature": "_setUniswapUniversalRouter(address)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "universalRouter = _router", "source_mapping": {"start": 3756, "length": 25, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.sol", "is_dependency": false, "lines": [110], "starting_column": 9, "ending_column": 34}, "type_specific_fields": {"parent": {"type": "function", "name": "_setUniswapUniversalRouter", "source_mapping": {"start": 3522, "length": 320, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.sol", "is_dependency": false, "lines": [104, 105, 106, 107, 108, 109, 110, 111, 112, 113], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseBuyback", "source_mapping": {"start": 546, "length": 7983, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.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, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267], "starting_column": 1, "ending_column": 2}}, "signature": "_setUniswapUniversalRouter(address)"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "universalRouter"}}], "description": "Reentrancy in BaseBuyback._setUniswapUniversalRouter(address) (contracts/buyback/BaseBuyback.sol#104-113):\n\tExternal calls:\n\t- IERC20(oToken).approve(universalRouter,0) (contracts/buyback/BaseBuyback.sol#107)\n\tState variables written after the call(s):\n\t- universalRouter = _router (contracts/buyback/BaseBuyback.sol#110)\n\tBaseBuyback.universalRouter (contracts/buyback/BaseBuyback.sol#30) can be used in cross function reentrancies:\n\t- BaseBuyback._setUniswapUniversalRouter(address) (contracts/buyback/BaseBuyback.sol#104-113)\n\t- BaseBuyback.universalRouter (contracts/buyback/BaseBuyback.sol#30)\n", "markdown": "Reentrancy in [BaseBuyback._setUniswapUniversalRouter(address)](contracts/buyback/BaseBuyback.sol#L104-L113):\n\tExternal calls:\n\t- [IERC20(oToken).approve(universalRouter,0)](contracts/buyback/BaseBuyback.sol#L107)\n\tState variables written after the call(s):\n\t- [universalRouter = _router](contracts/buyback/BaseBuyback.sol#L110)\n\t[BaseBuyback.universalRouter](contracts/buyback/BaseBuyback.sol#L30) can be used in cross function reentrancies:\n\t- [BaseBuyback._setUniswapUniversalRouter(address)](contracts/buyback/BaseBuyback.sol#L104-L113)\n\t- [BaseBuyback.universalRouter](contracts/buyback/BaseBuyback.sol#L30)\n", "first_markdown_element": "contracts/buyback/BaseBuyback.sol#L104-L113", "id": "bccc9acb8443b22ca1e841ba889cf8442ee7ce0439cfee68a23217bad2ff1e26", "check": "reentrancy-no-eth", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_setUniswapUniversalRouter", "source_mapping": {"start": 3522, "length": 320, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.sol", "is_dependency": false, "lines": [104, 105, 106, 107, 108, 109, 110, 111, 112, 113], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseBuyback", "source_mapping": {"start": 546, "length": 7983, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.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, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267], "starting_column": 1, "ending_column": 2}}, "signature": "_setUniswapUniversalRouter(address)"}}, {"type": "node", "name": "IERC20(oToken).approve(universalRouter,0)", "source_mapping": {"start": 3693, "length": 42, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.sol", "is_dependency": false, "lines": [107], "starting_column": 13, "ending_column": 55}, "type_specific_fields": {"parent": {"type": "function", "name": "_setUniswapUniversalRouter", "source_mapping": {"start": 3522, "length": 320, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.sol", "is_dependency": false, "lines": [104, 105, 106, 107, 108, 109, 110, 111, 112, 113], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseBuyback", "source_mapping": {"start": 546, "length": 7983, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.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, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267], "starting_column": 1, "ending_column": 2}}, "signature": "_setUniswapUniversalRouter(address)"}}}}], "description": "BaseBuyback._setUniswapUniversalRouter(address) (contracts/buyback/BaseBuyback.sol#104-113) ignores return value by IERC20(oToken).approve(universalRouter,0) (contracts/buyback/BaseBuyback.sol#107)\n", "markdown": "[BaseBuyback._setUniswapUniversalRouter(address)](contracts/buyback/BaseBuyback.sol#L104-L113) ignores return value by [IERC20(oToken).approve(universalRouter,0)](contracts/buyback/BaseBuyback.sol#L107)\n", "first_markdown_element": "contracts/buyback/BaseBuyback.sol#L104-L113", "id": "0e6b4f58400d0468104b070528bea337ad354c8f15ffe9d80e1e192744d443fa", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_setUniswapUniversalRouter", "source_mapping": {"start": 3480, "length": 320, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.sol", "is_dependency": false, "lines": [103, 104, 105, 106, 107, 108, 109, 110, 111, 112], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseBuyback", "source_mapping": {"start": 546, "length": 7941, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.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, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266], "starting_column": 1, "ending_column": 2}}, "signature": "_setUniswapUniversalRouter(address)"}}, {"type": "node", "name": "IERC20(oToken).approve(universalRouter,0)", "source_mapping": {"start": 3651, "length": 42, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.sol", "is_dependency": false, "lines": [106], "starting_column": 13, "ending_column": 55}, "type_specific_fields": {"parent": {"type": "function", "name": "_setUniswapUniversalRouter", "source_mapping": {"start": 3480, "length": 320, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.sol", "is_dependency": false, "lines": [103, 104, 105, 106, 107, 108, 109, 110, 111, 112], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseBuyback", "source_mapping": {"start": 546, "length": 7941, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.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, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266], "starting_column": 1, "ending_column": 2}}, "signature": "_setUniswapUniversalRouter(address)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "universalRouter = _router", "source_mapping": {"start": 3714, "length": 25, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.sol", "is_dependency": false, "lines": [109], "starting_column": 9, "ending_column": 34}, "type_specific_fields": {"parent": {"type": "function", "name": "_setUniswapUniversalRouter", "source_mapping": {"start": 3480, "length": 320, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.sol", "is_dependency": false, "lines": [103, 104, 105, 106, 107, 108, 109, 110, 111, 112], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseBuyback", "source_mapping": {"start": 546, "length": 7941, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.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, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266], "starting_column": 1, "ending_column": 2}}, "signature": "_setUniswapUniversalRouter(address)"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "universalRouter"}}], "description": "Reentrancy in BaseBuyback._setUniswapUniversalRouter(address) (contracts/buyback/BaseBuyback.sol#103-112):\n\tExternal calls:\n\t- IERC20(oToken).approve(universalRouter,0) (contracts/buyback/BaseBuyback.sol#106)\n\tState variables written after the call(s):\n\t- universalRouter = _router (contracts/buyback/BaseBuyback.sol#109)\n\tBaseBuyback.universalRouter (contracts/buyback/BaseBuyback.sol#30) can be used in cross function reentrancies:\n\t- BaseBuyback._setUniswapUniversalRouter(address) (contracts/buyback/BaseBuyback.sol#103-112)\n\t- BaseBuyback.universalRouter (contracts/buyback/BaseBuyback.sol#30)\n", "markdown": "Reentrancy in [BaseBuyback._setUniswapUniversalRouter(address)](contracts/buyback/BaseBuyback.sol#L103-L112):\n\tExternal calls:\n\t- [IERC20(oToken).approve(universalRouter,0)](contracts/buyback/BaseBuyback.sol#L106)\n\tState variables written after the call(s):\n\t- [universalRouter = _router](contracts/buyback/BaseBuyback.sol#L109)\n\t[BaseBuyback.universalRouter](contracts/buyback/BaseBuyback.sol#L30) can be used in cross function reentrancies:\n\t- [BaseBuyback._setUniswapUniversalRouter(address)](contracts/buyback/BaseBuyback.sol#L103-L112)\n\t- [BaseBuyback.universalRouter](contracts/buyback/BaseBuyback.sol#L30)\n", "first_markdown_element": "contracts/buyback/BaseBuyback.sol#L103-L112", "id": "4e2c66a5727d9f9cf6215dd14b959bcd5593727f47bde61f3fe06848cac85c35", "check": "reentrancy-no-eth", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_setUniswapUniversalRouter", "source_mapping": {"start": 3480, "length": 320, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.sol", "is_dependency": false, "lines": [103, 104, 105, 106, 107, 108, 109, 110, 111, 112], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseBuyback", "source_mapping": {"start": 546, "length": 7941, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.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, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266], "starting_column": 1, "ending_column": 2}}, "signature": "_setUniswapUniversalRouter(address)"}}, {"type": "node", "name": "IERC20(oToken).approve(universalRouter,0)", "source_mapping": {"start": 3651, "length": 42, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.sol", "is_dependency": false, "lines": [106], "starting_column": 13, "ending_column": 55}, "type_specific_fields": {"parent": {"type": "function", "name": "_setUniswapUniversalRouter", "source_mapping": {"start": 3480, "length": 320, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.sol", "is_dependency": false, "lines": [103, 104, 105, 106, 107, 108, 109, 110, 111, 112], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseBuyback", "source_mapping": {"start": 546, "length": 7941, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.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, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266], "starting_column": 1, "ending_column": 2}}, "signature": "_setUniswapUniversalRouter(address)"}}}}], "description": "BaseBuyback._setUniswapUniversalRouter(address) (contracts/buyback/BaseBuyback.sol#103-112) ignores return value by IERC20(oToken).approve(universalRouter,0) (contracts/buyback/BaseBuyback.sol#106)\n", "markdown": "[BaseBuyback._setUniswapUniversalRouter(address)](contracts/buyback/BaseBuyback.sol#L103-L112) ignores return value by [IERC20(oToken).approve(universalRouter,0)](contracts/buyback/BaseBuyback.sol#L106)\n", "first_markdown_element": "contracts/buyback/BaseBuyback.sol#L103-L112", "id": "7a20874f6f861f199337da5b19ec4694217da101724d2cd37244d03f288e947f", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_setUniswapUniversalRouter", "source_mapping": {"start": 3767, "length": 372, "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.sol", "is_dependency": false, "lines": [117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Buyback", "source_mapping": {"start": 546, "length": 11684, "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.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, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374], "starting_column": 1, "ending_column": 2}}, "signature": "_setUniswapUniversalRouter(address)"}}, {"type": "node", "name": "IERC20(ousd).approve(universalRouter,0)", "source_mapping": {"start": 3938, "length": 40, "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.sol", "is_dependency": false, "lines": [120], "starting_column": 13, "ending_column": 53}, "type_specific_fields": {"parent": {"type": "function", "name": "_setUniswapUniversalRouter", "source_mapping": {"start": 3767, "length": 372, "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.sol", "is_dependency": false, "lines": [117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Buyback", "source_mapping": {"start": 546, "length": 11684, "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.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, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374], "starting_column": 1, "ending_column": 2}}, "signature": "_setUniswapUniversalRouter(address)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "IERC20(oeth).approve(universalRouter,0)", "source_mapping": {"start": 3992, "length": 40, "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.sol", "is_dependency": false, "lines": [121], "starting_column": 13, "ending_column": 53}, "type_specific_fields": {"parent": {"type": "function", "name": "_setUniswapUniversalRouter", "source_mapping": {"start": 3767, "length": 372, "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.sol", "is_dependency": false, "lines": [117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Buyback", "source_mapping": {"start": 546, "length": 11684, "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.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, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374], "starting_column": 1, "ending_column": 2}}, "signature": "_setUniswapUniversalRouter(address)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "universalRouter = _router", "source_mapping": {"start": 4053, "length": 25, "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.sol", "is_dependency": false, "lines": [124], "starting_column": 9, "ending_column": 34}, "type_specific_fields": {"parent": {"type": "function", "name": "_setUniswapUniversalRouter", "source_mapping": {"start": 3767, "length": 372, "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.sol", "is_dependency": false, "lines": [117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Buyback", "source_mapping": {"start": 546, "length": 11684, "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.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, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374], "starting_column": 1, "ending_column": 2}}, "signature": "_setUniswapUniversalRouter(address)"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "universalRouter"}}], "description": "Reentrancy in Buyback._setUniswapUniversalRouter(address) (contracts/buyback/Buyback.sol#117-127):\n\tExternal calls:\n\t- IERC20(ousd).approve(universalRouter,0) (contracts/buyback/Buyback.sol#120)\n\t- IERC20(oeth).approve(universalRouter,0) (contracts/buyback/Buyback.sol#121)\n\tState variables written after the call(s):\n\t- universalRouter = _router (contracts/buyback/Buyback.sol#124)\n\tBuyback.universalRouter (contracts/buyback/Buyback.sol#37) can be used in cross function reentrancies:\n\t- Buyback._setUniswapUniversalRouter(address) (contracts/buyback/Buyback.sol#117-127)\n\t- Buyback.universalRouter (contracts/buyback/Buyback.sol#37)\n", "markdown": "Reentrancy in [Buyback._setUniswapUniversalRouter(address)](contracts/buyback/Buyback.sol#L117-L127):\n\tExternal calls:\n\t- [IERC20(ousd).approve(universalRouter,0)](contracts/buyback/Buyback.sol#L120)\n\t- [IERC20(oeth).approve(universalRouter,0)](contracts/buyback/Buyback.sol#L121)\n\tState variables written after the call(s):\n\t- [universalRouter = _router](contracts/buyback/Buyback.sol#L124)\n\t[Buyback.universalRouter](contracts/buyback/Buyback.sol#L37) can be used in cross function reentrancies:\n\t- [Buyback._setUniswapUniversalRouter(address)](contracts/buyback/Buyback.sol#L117-L127)\n\t- [Buyback.universalRouter](contracts/buyback/Buyback.sol#L37)\n", "first_markdown_element": "contracts/buyback/Buyback.sol#L117-L127", "id": "b932a6b36d3ab0a8e79857c0b0c725c46b791263a4f87c7e06f1c76c3179f6f6", "check": "reentrancy-no-eth", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_setUniswapUniversalRouter", "source_mapping": {"start": 3767, "length": 372, "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.sol", "is_dependency": false, "lines": [117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Buyback", "source_mapping": {"start": 546, "length": 11684, "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.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, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374], "starting_column": 1, "ending_column": 2}}, "signature": "_setUniswapUniversalRouter(address)"}}, {"type": "node", "name": "IERC20(ousd).approve(universalRouter,0)", "source_mapping": {"start": 3938, "length": 40, "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.sol", "is_dependency": false, "lines": [120], "starting_column": 13, "ending_column": 53}, "type_specific_fields": {"parent": {"type": "function", "name": "_setUniswapUniversalRouter", "source_mapping": {"start": 3767, "length": 372, "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.sol", "is_dependency": false, "lines": [117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Buyback", "source_mapping": {"start": 546, "length": 11684, "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.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, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374], "starting_column": 1, "ending_column": 2}}, "signature": "_setUniswapUniversalRouter(address)"}}}}], "description": "Buyback._setUniswapUniversalRouter(address) (contracts/buyback/Buyback.sol#117-127) ignores return value by IERC20(ousd).approve(universalRouter,0) (contracts/buyback/Buyback.sol#120)\n", "markdown": "[Buyback._setUniswapUniversalRouter(address)](contracts/buyback/Buyback.sol#L117-L127) ignores return value by [IERC20(ousd).approve(universalRouter,0)](contracts/buyback/Buyback.sol#L120)\n", "first_markdown_element": "contracts/buyback/Buyback.sol#L117-L127", "id": "7daab5d45656d0cecde144179adfd717608cba4dd9fb6b953f5f14d96c146dd1", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_setUniswapUniversalRouter", "source_mapping": {"start": 3767, "length": 372, "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.sol", "is_dependency": false, "lines": [117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Buyback", "source_mapping": {"start": 546, "length": 11684, "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.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, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374], "starting_column": 1, "ending_column": 2}}, "signature": "_setUniswapUniversalRouter(address)"}}, {"type": "node", "name": "IERC20(oeth).approve(universalRouter,0)", "source_mapping": {"start": 3992, "length": 40, "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.sol", "is_dependency": false, "lines": [121], "starting_column": 13, "ending_column": 53}, "type_specific_fields": {"parent": {"type": "function", "name": "_setUniswapUniversalRouter", "source_mapping": {"start": 3767, "length": 372, "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.sol", "is_dependency": false, "lines": [117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Buyback", "source_mapping": {"start": 546, "length": 11684, "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.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, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374], "starting_column": 1, "ending_column": 2}}, "signature": "_setUniswapUniversalRouter(address)"}}}}], "description": "Buyback._setUniswapUniversalRouter(address) (contracts/buyback/Buyback.sol#117-127) ignores return value by IERC20(oeth).approve(universalRouter,0) (contracts/buyback/Buyback.sol#121)\n", "markdown": "[Buyback._setUniswapUniversalRouter(address)](contracts/buyback/Buyback.sol#L117-L127) ignores return value by [IERC20(oeth).approve(universalRouter,0)](contracts/buyback/Buyback.sol#L121)\n", "first_markdown_element": "contracts/buyback/Buyback.sol#L117-L127", "id": "f93fa4e05fd64289e99e04fe22132cd474fc8db7419d99a3e6a1adfa993b2193", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_deposit", "source_mapping": {"start": 6928, "length": 2553, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.sol", "is_dependency": false, "lines": [178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ConvexEthMetaStrategy", "source_mapping": {"start": 769, "length": 22879, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622], "starting_column": 1, "ending_column": 2}}, "signature": "_deposit(address,uint256)"}}, {"type": "node", "name": "lpDeposited = curvePool.add_liquidity{value: _wethAmount}(_amounts,minMintAmount)", "source_mapping": {"start": 9006, "length": 126, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.sol", "is_dependency": false, "lines": [227, 228, 229, 230], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "_deposit", "source_mapping": {"start": 6928, "length": 2553, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.sol", "is_dependency": false, "lines": [178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ConvexEthMetaStrategy", "source_mapping": {"start": 769, "length": 22879, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622], "starting_column": 1, "ending_column": 2}}, "signature": "_deposit(address,uint256)"}}}}], "description": "ConvexEthMetaStrategy._deposit(address,uint256) (contracts/strategies/ConvexEthMetaStrategy.sol#178-241) sends eth to arbitrary user\n\tDangerous calls:\n\t- lpDeposited = curvePool.add_liquidity{value: _wethAmount}(_amounts,minMintAmount) (contracts/strategies/ConvexEthMetaStrategy.sol#227-230)\n", "markdown": "[ConvexEthMetaStrategy._deposit(address,uint256)](contracts/strategies/ConvexEthMetaStrategy.sol#L178-L241) sends eth to arbitrary user\n\tDangerous calls:\n\t- [lpDeposited = curvePool.add_liquidity{value: _wethAmount}(_amounts,minMintAmount)](contracts/strategies/ConvexEthMetaStrategy.sol#L227-L230)\n", "first_markdown_element": "contracts/strategies/ConvexEthMetaStrategy.sol#L178-L241", "id": "75ef502a2f513f385a2c424812fba1371a2945d29db42fd46795b68a3fb7ec9d", "check": "arbitrary-send-eth", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "price", "source_mapping": {"start": 1593, "length": 894, "filename_relative": "contracts/oracle/OracleRouter.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/oracle/OracleRouter.sol", "filename_short": "contracts/oracle/OracleRouter.sol", "is_dependency": false, "lines": [41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OracleRouterBase", "source_mapping": {"start": 429, "length": 3340, "filename_relative": "contracts/oracle/OracleRouter.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/oracle/OracleRouter.sol", "filename_short": "contracts/oracle/OracleRouter.sol", "is_dependency": false, "lines": [11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100], "starting_column": 1, "ending_column": 2}}, "signature": "price(address)"}}, {"type": "node", "name": "(_iprice,updatedAt) = AggregatorV3Interface(_feed).latestRoundData()", "source_mapping": {"start": 1931, "length": 103, "filename_relative": "contracts/oracle/OracleRouter.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/oracle/OracleRouter.sol", "filename_short": "contracts/oracle/OracleRouter.sol", "is_dependency": false, "lines": [52, 53], "starting_column": 9, "ending_column": 31}, "type_specific_fields": {"parent": {"type": "function", "name": "price", "source_mapping": {"start": 1593, "length": 894, "filename_relative": "contracts/oracle/OracleRouter.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/oracle/OracleRouter.sol", "filename_short": "contracts/oracle/OracleRouter.sol", "is_dependency": false, "lines": [41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OracleRouterBase", "source_mapping": {"start": 429, "length": 3340, "filename_relative": "contracts/oracle/OracleRouter.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/oracle/OracleRouter.sol", "filename_short": "contracts/oracle/OracleRouter.sol", "is_dependency": false, "lines": [11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100], "starting_column": 1, "ending_column": 2}}, "signature": "price(address)"}}}}], "description": "OracleRouterBase.price(address) (contracts/oracle/OracleRouter.sol#41-68) ignores return value by (_iprice,updatedAt) = AggregatorV3Interface(_feed).latestRoundData() (contracts/oracle/OracleRouter.sol#52-53)\n", "markdown": "[OracleRouterBase.price(address)](contracts/oracle/OracleRouter.sol#L41-L68) ignores return value by [(_iprice,updatedAt) = AggregatorV3Interface(_feed).latestRoundData()](contracts/oracle/OracleRouter.sol#L52-L53)\n", "first_markdown_element": "contracts/oracle/OracleRouter.sol#L41-L68", "id": "6209af3b6f21e22017468756cdffc0905ff6a469cffe32a283d178692f200e96", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "price", "source_mapping": {"start": 7130, "length": 700, "filename_relative": "contracts/oracle/OracleRouter.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/oracle/OracleRouter.sol", "filename_short": "contracts/oracle/OracleRouter.sol", "is_dependency": false, "lines": [172, 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": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OETHOracleRouter", "source_mapping": {"start": 6730, "length": 3600, "filename_relative": "contracts/oracle/OracleRouter.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/oracle/OracleRouter.sol", "filename_short": "contracts/oracle/OracleRouter.sol", "is_dependency": false, "lines": [162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249], "starting_column": 1, "ending_column": 2}}, "signature": "price(address)"}}, {"type": "node", "name": "(_iprice,updatedAt) = AggregatorV3Interface(_feed).latestRoundData()", "source_mapping": {"start": 7465, "length": 103, "filename_relative": "contracts/oracle/OracleRouter.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/oracle/OracleRouter.sol", "filename_short": "contracts/oracle/OracleRouter.sol", "is_dependency": false, "lines": [185, 186], "starting_column": 9, "ending_column": 31}, "type_specific_fields": {"parent": {"type": "function", "name": "price", "source_mapping": {"start": 7130, "length": 700, "filename_relative": "contracts/oracle/OracleRouter.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/oracle/OracleRouter.sol", "filename_short": "contracts/oracle/OracleRouter.sol", "is_dependency": false, "lines": [172, 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": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OETHOracleRouter", "source_mapping": {"start": 6730, "length": 3600, "filename_relative": "contracts/oracle/OracleRouter.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/oracle/OracleRouter.sol", "filename_short": "contracts/oracle/OracleRouter.sol", "is_dependency": false, "lines": [162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249], "starting_column": 1, "ending_column": 2}}, "signature": "price(address)"}}}}], "description": "OETHOracleRouter.price(address) (contracts/oracle/OracleRouter.sol#172-196) ignores return value by (_iprice,updatedAt) = AggregatorV3Interface(_feed).latestRoundData() (contracts/oracle/OracleRouter.sol#185-186)\n", "markdown": "[OETHOracleRouter.price(address)](contracts/oracle/OracleRouter.sol#L172-L196) ignores return value by [(_iprice,updatedAt) = AggregatorV3Interface(_feed).latestRoundData()](contracts/oracle/OracleRouter.sol#L185-L186)\n", "first_markdown_element": "contracts/oracle/OracleRouter.sol#L172-L196", "id": "b3a9b1629bc0c0c5f2edbcecdd5b6cc290654923a39479541a280c9b6a7f477d", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_checkBalance", "source_mapping": {"start": 6528, "length": 369, "filename_relative": "contracts/strategies/MorphoAaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoAaveStrategy.sol", "filename_short": "contracts/strategies/MorphoAaveStrategy.sol", "is_dependency": false, "lines": [202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MorphoAaveStrategy", "source_mapping": {"start": 563, "length": 7125, "filename_relative": "contracts/strategies/MorphoAaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoAaveStrategy.sol", "filename_short": "contracts/strategies/MorphoAaveStrategy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240], "starting_column": 1, "ending_column": 2}}, "signature": "_checkBalance(address)"}}, {"type": "node", "name": "(None,None,balance) = ILens(LENS).getCurrentSupplyBalanceInOf(pToken,address(this))", "source_mapping": {"start": 6778, "length": 112, "filename_relative": "contracts/strategies/MorphoAaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoAaveStrategy.sol", "filename_short": "contracts/strategies/MorphoAaveStrategy.sol", "is_dependency": false, "lines": [210, 211, 212, 213], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "_checkBalance", "source_mapping": {"start": 6528, "length": 369, "filename_relative": "contracts/strategies/MorphoAaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoAaveStrategy.sol", "filename_short": "contracts/strategies/MorphoAaveStrategy.sol", "is_dependency": false, "lines": [202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MorphoAaveStrategy", "source_mapping": {"start": 563, "length": 7125, "filename_relative": "contracts/strategies/MorphoAaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoAaveStrategy.sol", "filename_short": "contracts/strategies/MorphoAaveStrategy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240], "starting_column": 1, "ending_column": 2}}, "signature": "_checkBalance(address)"}}}}], "description": "MorphoAaveStrategy._checkBalance(address) (contracts/strategies/MorphoAaveStrategy.sol#202-214) ignores return value by (None,None,balance) = ILens(LENS).getCurrentSupplyBalanceInOf(pToken,address(this)) (contracts/strategies/MorphoAaveStrategy.sol#210-213)\n", "markdown": "[MorphoAaveStrategy._checkBalance(address)](contracts/strategies/MorphoAaveStrategy.sol#L202-L214) ignores return value by [(None,None,balance) = ILens(LENS).getCurrentSupplyBalanceInOf(pToken,address(this))](contracts/strategies/MorphoAaveStrategy.sol#L210-L213)\n", "first_markdown_element": "contracts/strategies/MorphoAaveStrategy.sol#L202-L214", "id": "4cf7355ba40b814d1901bb2d39a6f82a6123393dfb73c4b4ffde2185135ce437", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_checkBalance", "source_mapping": {"start": 8191, "length": 360, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MorphoCompoundStrategy", "source_mapping": {"start": 608, "length": 7945, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251], "starting_column": 1, "ending_column": 2}}, "signature": "_checkBalance(address)"}}, {"type": "node", "name": "(None,None,balance) = ILens(LENS).getCurrentSupplyBalanceInOf(pToken,address(this))", "source_mapping": {"start": 8432, "length": 112, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [246, 247, 248, 249], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "_checkBalance", "source_mapping": {"start": 8191, "length": 360, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MorphoCompoundStrategy", "source_mapping": {"start": 608, "length": 7945, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251], "starting_column": 1, "ending_column": 2}}, "signature": "_checkBalance(address)"}}}}], "description": "MorphoCompoundStrategy._checkBalance(address) (contracts/strategies/MorphoCompoundStrategy.sol#238-250) ignores return value by (None,None,balance) = ILens(LENS).getCurrentSupplyBalanceInOf(pToken,address(this)) (contracts/strategies/MorphoCompoundStrategy.sol#246-249)\n", "markdown": "[MorphoCompoundStrategy._checkBalance(address)](contracts/strategies/MorphoCompoundStrategy.sol#L238-L250) ignores return value by [(None,None,balance) = ILens(LENS).getCurrentSupplyBalanceInOf(pToken,address(this))](contracts/strategies/MorphoCompoundStrategy.sol#L246-L249)\n", "first_markdown_element": "contracts/strategies/MorphoCompoundStrategy.sol#L238-L250", "id": "aae8756dd4310146d8bb051edd3c3ab77f1a8d97181e0a98177aedc43a56e23d", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_getPoolAssets", "source_mapping": {"start": 12543, "length": 148, "filename_relative": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_short": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "is_dependency": false, "lines": [304, 305, 306], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseBalancerStrategy", "source_mapping": {"start": 798, "length": 17926, "filename_relative": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_short": "contracts/strategies/balancer/BaseBalancerStrategy.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, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 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], "starting_column": 1, "ending_column": 2}}, "signature": "_getPoolAssets()"}}, {"type": "node", "name": "(assets,None,None) = balancerVault.getPoolTokens(balancerPoolId)", "source_mapping": {"start": 12626, "length": 58, "filename_relative": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_short": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "is_dependency": false, "lines": [305], "starting_column": 9, "ending_column": 67}, "type_specific_fields": {"parent": {"type": "function", "name": "_getPoolAssets", "source_mapping": {"start": 12543, "length": 148, "filename_relative": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_short": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "is_dependency": false, "lines": [304, 305, 306], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseBalancerStrategy", "source_mapping": {"start": 798, "length": 17926, "filename_relative": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_short": "contracts/strategies/balancer/BaseBalancerStrategy.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, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 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], "starting_column": 1, "ending_column": 2}}, "signature": "_getPoolAssets()"}}}}], "description": "BaseBalancerStrategy._getPoolAssets() (contracts/strategies/balancer/BaseBalancerStrategy.sol#304-306) ignores return value by (assets,None,None) = balancerVault.getPoolTokens(balancerPoolId) (contracts/strategies/balancer/BaseBalancerStrategy.sol#305)\n", "markdown": "[BaseBalancerStrategy._getPoolAssets()](contracts/strategies/balancer/BaseBalancerStrategy.sol#L304-L306) ignores return value by [(assets,None,None) = balancerVault.getPoolTokens(balancerPoolId)](contracts/strategies/balancer/BaseBalancerStrategy.sol#L305)\n", "first_markdown_element": "contracts/strategies/balancer/BaseBalancerStrategy.sol#L304-L306", "id": "21c54e3d1ca39fd24d0f103cf5e24127d7744808ffa3864cfb51a5f86248ff5f", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_deposit", "source_mapping": {"start": 3095, "length": 3242, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BalancerMetaPoolStrategy", "source_mapping": {"start": 708, "length": 21715, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "_deposit(address[],uint256[])"}}, {"type": "node", "name": "(tokens) = balancerVault.getPoolTokens(balancerPoolId)", "source_mapping": {"start": 3352, "length": 96, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [92, 93, 94], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "_deposit", "source_mapping": {"start": 3095, "length": 3242, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BalancerMetaPoolStrategy", "source_mapping": {"start": 708, "length": 21715, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "_deposit(address[],uint256[])"}}}}], "description": "BalancerMetaPoolStrategy._deposit(address[],uint256[]) (contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#83-173) ignores return value by (tokens) = balancerVault.getPoolTokens(balancerPoolId) (contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#92-94)\n", "markdown": "[BalancerMetaPoolStrategy._deposit(address[],uint256[])](contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L83-L173) ignores return value by [(tokens) = balancerVault.getPoolTokens(balancerPoolId)](contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L92-L94)\n", "first_markdown_element": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L83-L173", "id": "c6f964aee4da3934e983a28493b99b37bfadfca9bd8718a64f3e4bc82580b751", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_withdraw", "source_mapping": {"start": 8546, "length": 6981, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BalancerMetaPoolStrategy", "source_mapping": {"start": 708, "length": 21715, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "_withdraw(address,address[],uint256[])"}}, {"type": "node", "name": "(tokens) = balancerVault.getPoolTokens(balancerPoolId)", "source_mapping": {"start": 9196, "length": 96, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [240, 241, 242], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "_withdraw", "source_mapping": {"start": 8546, "length": 6981, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BalancerMetaPoolStrategy", "source_mapping": {"start": 708, "length": 21715, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "_withdraw(address,address[],uint256[])"}}}}], "description": "BalancerMetaPoolStrategy._withdraw(address,address[],uint256[]) (contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#220-384) ignores return value by (tokens) = balancerVault.getPoolTokens(balancerPoolId) (contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#240-242)\n", "markdown": "[BalancerMetaPoolStrategy._withdraw(address,address[],uint256[])](contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L220-L384) ignores return value by [(tokens) = balancerVault.getPoolTokens(balancerPoolId)](contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L240-L242)\n", "first_markdown_element": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L220-L384", "id": "b6dfd0234a00fe7ec86440a81eff1c382ad27a77a030e172fa8ed3c20e62835f", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "withdrawAll", "source_mapping": {"start": 15746, "length": 3500, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [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], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BalancerMetaPoolStrategy", "source_mapping": {"start": 708, "length": 21715, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "withdrawAll()"}}, {"type": "node", "name": "(tokens) = balancerVault.getPoolTokens(balancerPoolId)", "source_mapping": {"start": 16219, "length": 96, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [401, 402, 403], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "withdrawAll", "source_mapping": {"start": 15746, "length": 3500, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [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], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BalancerMetaPoolStrategy", "source_mapping": {"start": 708, "length": 21715, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "withdrawAll()"}}}}], "description": "BalancerMetaPoolStrategy.withdrawAll() (contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#392-473) ignores return value by (tokens) = balancerVault.getPoolTokens(balancerPoolId) (contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#401-403)\n", "markdown": "[BalancerMetaPoolStrategy.withdrawAll()](contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L392-L473) ignores return value by [(tokens) = balancerVault.getPoolTokens(balancerPoolId)](contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L401-L403)\n", "first_markdown_element": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L392-L473", "id": "a7365da818ffe46e2f970cfb2adeba732b39671fb32ad6fc01b30eb86796d70a", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_getRateProviderRate", "source_mapping": {"start": 21512, "length": 909, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BalancerMetaPoolStrategy", "source_mapping": {"start": 708, "length": 21715, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "_getRateProviderRate(address)"}}, {"type": "node", "name": "(tokens) = balancerVault.getPoolTokens(balancerPoolId)", "source_mapping": {"start": 21778, "length": 96, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [542, 543, 544], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "_getRateProviderRate", "source_mapping": {"start": 21512, "length": 909, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BalancerMetaPoolStrategy", "source_mapping": {"start": 708, "length": 21715, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "_getRateProviderRate(address)"}}}}], "description": "BalancerMetaPoolStrategy._getRateProviderRate(address) (contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#534-560) ignores return value by (tokens) = balancerVault.getPoolTokens(balancerPoolId) (contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#542-544)\n", "markdown": "[BalancerMetaPoolStrategy._getRateProviderRate(address)](contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L534-L560) ignores return value by [(tokens) = balancerVault.getPoolTokens(balancerPoolId)](contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L542-L544)\n", "first_markdown_element": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L534-L560", "id": "36ed2fe9e73d5e1d882a0bd06ef1472869f8bdb8fe801c9015e95738edb9be60", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "swap", "source_mapping": {"start": 1921, "length": 2324, "filename_relative": "contracts/swapper/Swapper1InchV5.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/swapper/Swapper1InchV5.sol", "filename_short": "contracts/swapper/Swapper1InchV5.sol", "is_dependency": false, "lines": [40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Swapper1InchV5", "source_mapping": {"start": 756, "length": 3993, "filename_relative": "contracts/swapper/Swapper1InchV5.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/swapper/Swapper1InchV5.sol", "filename_short": "contracts/swapper/Swapper1InchV5.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, 99, 100, 101, 102, 103, 104, 105, 106, 107], "starting_column": 1, "ending_column": 2}}, "signature": "swap(address,address,uint256,uint256,bytes)"}}, {"type": "node", "name": "(toAssetAmount,None) = IOneInchRouter(SWAP_ROUTER).swap(IAggregationExecutor(executer),swapDesc,,executerData)", "source_mapping": {"start": 3028, "length": 193, "filename_relative": "contracts/swapper/Swapper1InchV5.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/swapper/Swapper1InchV5.sol", "filename_short": "contracts/swapper/Swapper1InchV5.sol", "is_dependency": false, "lines": [65, 66, 67, 68, 69, 70], "starting_column": 13, "ending_column": 14}, "type_specific_fields": {"parent": {"type": "function", "name": "swap", "source_mapping": {"start": 1921, "length": 2324, "filename_relative": "contracts/swapper/Swapper1InchV5.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/swapper/Swapper1InchV5.sol", "filename_short": "contracts/swapper/Swapper1InchV5.sol", "is_dependency": false, "lines": [40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Swapper1InchV5", "source_mapping": {"start": 756, "length": 3993, "filename_relative": "contracts/swapper/Swapper1InchV5.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/swapper/Swapper1InchV5.sol", "filename_short": "contracts/swapper/Swapper1InchV5.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, 99, 100, 101, 102, 103, 104, 105, 106, 107], "starting_column": 1, "ending_column": 2}}, "signature": "swap(address,address,uint256,uint256,bytes)"}}}}], "description": "Swapper1InchV5.swap(address,address,uint256,uint256,bytes) (contracts/swapper/Swapper1InchV5.sol#40-94) ignores return value by (toAssetAmount,None) = IOneInchRouter(SWAP_ROUTER).swap(IAggregationExecutor(executer),swapDesc,,executerData) (contracts/swapper/Swapper1InchV5.sol#65-70)\n", "markdown": "[Swapper1InchV5.swap(address,address,uint256,uint256,bytes)](contracts/swapper/Swapper1InchV5.sol#L40-L94) ignores return value by [(toAssetAmount,None) = IOneInchRouter(SWAP_ROUTER).swap(IAggregationExecutor(executer),swapDesc,,executerData)](contracts/swapper/Swapper1InchV5.sol#L65-L70)\n", "first_markdown_element": "contracts/swapper/Swapper1InchV5.sol#L40-L94", "id": "a20be31d0dee33859aaf12dbf3a9efdddb933083e9aaec46c76173e1e0576290", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "onlyUnlockedAdjuster", "source_mapping": {"start": 5015, "length": 184, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [159, 160, 161, 162, 163], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompensationClaims", "source_mapping": {"start": 1527, "length": 3674, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164], "starting_column": 1, "ending_column": 2}}, "signature": "onlyUnlockedAdjuster()"}}, {"type": "node", "name": "require(bool,string)(isAdjusterLocked == false,Adjuster must be unlocked)", "source_mapping": {"start": 5057, "length": 63, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [160], "starting_column": 9, "ending_column": 72}, "type_specific_fields": {"parent": {"type": "function", "name": "onlyUnlockedAdjuster", "source_mapping": {"start": 5015, "length": 184, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [159, 160, 161, 162, 163], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompensationClaims", "source_mapping": {"start": 1527, "length": 3674, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164], "starting_column": 1, "ending_column": 2}}, "signature": "onlyUnlockedAdjuster()"}}}}], "description": "CompensationClaims.onlyUnlockedAdjuster() (contracts/compensation/CompensationClaims.sol#159-163) compares to a boolean constant:\n\t-require(bool,string)(isAdjusterLocked == false,Adjuster must be unlocked) (contracts/compensation/CompensationClaims.sol#160)\n", "markdown": "[CompensationClaims.onlyUnlockedAdjuster()](contracts/compensation/CompensationClaims.sol#L159-L163) compares to a boolean constant:\n\t-[require(bool,string)(isAdjusterLocked == false,Adjuster must be unlocked)](contracts/compensation/CompensationClaims.sol#L160)\n", "first_markdown_element": "contracts/compensation/CompensationClaims.sol#L159-L163", "id": "c674328ac540cee46322710f4f2b564022817568b3de72c2f333499667897fb6", "check": "boolean-equal", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "setClaims", "source_mapping": {"start": 2859, "length": 679, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompensationClaims", "source_mapping": {"start": 1527, "length": 3674, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164], "starting_column": 1, "ending_column": 2}}, "signature": "setClaims(address[],uint256[])"}}, {"type": "node", "name": "totalClaims = totalClaims.add(newAmount).sub(oldAmount)", "source_mapping": {"start": 3417, "length": 55, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [100], "starting_column": 13, "ending_column": 68}, "type_specific_fields": {"parent": {"type": "function", "name": "setClaims", "source_mapping": {"start": 2859, "length": 679, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompensationClaims", "source_mapping": {"start": 1527, "length": 3674, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164], "starting_column": 1, "ending_column": 2}}, "signature": "setClaims(address[],uint256[])"}}}}], "description": "CompensationClaims.setClaims(address[],uint256[]) (contracts/compensation/CompensationClaims.sol#86-103) has costly operations inside a loop:\n\t- totalClaims = totalClaims.add(newAmount).sub(oldAmount) (contracts/compensation/CompensationClaims.sol#100)\n", "markdown": "[CompensationClaims.setClaims(address[],uint256[])](contracts/compensation/CompensationClaims.sol#L86-L103) has costly operations inside a loop:\n\t- [totalClaims = totalClaims.add(newAmount).sub(oldAmount)](contracts/compensation/CompensationClaims.sol#L100)\n", "first_markdown_element": "contracts/compensation/CompensationClaims.sol#L86-L103", "id": "ead4689fefe47be38b040394ae6995dc07b10079222841e5c24d8b378ff13658", "check": "costly-loop", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_fromPoolAsset", "source_mapping": {"start": 15639, "length": 615, "filename_relative": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_short": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "is_dependency": false, "lines": [400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseBalancerStrategy", "source_mapping": {"start": 798, "length": 17926, "filename_relative": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_short": "contracts/strategies/balancer/BaseBalancerStrategy.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, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 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], "starting_column": 1, "ending_column": 2}}, "signature": "_fromPoolAsset(address,uint256)"}}], "description": "BaseBalancerStrategy._fromPoolAsset(address,uint256) (contracts/strategies/balancer/BaseBalancerStrategy.sol#400-419) is never used and should be removed\n", "markdown": "[BaseBalancerStrategy._fromPoolAsset(address,uint256)](contracts/strategies/balancer/BaseBalancerStrategy.sol#L400-L419) is never used and should be removed\n", "first_markdown_element": "contracts/strategies/balancer/BaseBalancerStrategy.sol#L400-L419", "id": "7172c3b3e3f4d4faa0d43c072a323390d348e93a94411aeffd451a0c8f12155e", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_getBPTExpected", "source_mapping": {"start": 11209, "length": 363, "filename_relative": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_short": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "is_dependency": false, "lines": [266, 267, 268, 269, 270, 271, 272, 273, 274, 275], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseBalancerStrategy", "source_mapping": {"start": 798, "length": 17926, "filename_relative": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_short": "contracts/strategies/balancer/BaseBalancerStrategy.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, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 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], "starting_column": 1, "ending_column": 2}}, "signature": "_getBPTExpected(address,uint256)"}}], "description": "BaseBalancerStrategy._getBPTExpected(address,uint256) (contracts/strategies/balancer/BaseBalancerStrategy.sol#266-275) is never used and should be removed\n", "markdown": "[BaseBalancerStrategy._getBPTExpected(address,uint256)](contracts/strategies/balancer/BaseBalancerStrategy.sol#L266-L275) is never used and should be removed\n", "first_markdown_element": "contracts/strategies/balancer/BaseBalancerStrategy.sol#L266-L275", "id": "414392a8237d7c299280870f69d60c9020effb6da887ce3329b46ad1a4b1a5c8", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_getBalancerPoolTokens", "source_mapping": {"start": 8966, "length": 215, "filename_relative": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_short": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "is_dependency": false, "lines": [222, 223, 224, 225, 226, 227, 228, 229], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseBalancerStrategy", "source_mapping": {"start": 798, "length": 17926, "filename_relative": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_short": "contracts/strategies/balancer/BaseBalancerStrategy.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, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 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], "starting_column": 1, "ending_column": 2}}, "signature": "_getBalancerPoolTokens()"}}], "description": "BaseBalancerStrategy._getBalancerPoolTokens() (contracts/strategies/balancer/BaseBalancerStrategy.sol#222-229) is never used and should be removed\n", "markdown": "[BaseBalancerStrategy._getBalancerPoolTokens()](contracts/strategies/balancer/BaseBalancerStrategy.sol#L222-L229) is never used and should be removed\n", "first_markdown_element": "contracts/strategies/balancer/BaseBalancerStrategy.sol#L222-L229", "id": "43bad484abb5503ba664b26eef9bf25d7ca8e3728ff4fd75e1beb9fc8335010b", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_deposit", "source_mapping": {"start": 2484, "length": 386, "filename_relative": "contracts/strategies/Generalized4626Strategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/Generalized4626Strategy.sol", "filename_short": "contracts/strategies/Generalized4626Strategy.sol", "is_dependency": false, "lines": [75, 76, 77, 78, 79, 80, 81, 82], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Generalized4626Strategy", "source_mapping": {"start": 454, "length": 6746, "filename_relative": "contracts/strategies/Generalized4626Strategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/Generalized4626Strategy.sol", "filename_short": "contracts/strategies/Generalized4626Strategy.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, 209, 210, 211], "starting_column": 1, "ending_column": 2}}, "signature": "_deposit(address,uint256)"}}], "description": "Generalized4626Strategy._deposit(address,uint256) (contracts/strategies/Generalized4626Strategy.sol#75-82) is never used and should be removed\n", "markdown": "[Generalized4626Strategy._deposit(address,uint256)](contracts/strategies/Generalized4626Strategy.sol#L75-L82) is never used and should be removed\n", "first_markdown_element": "contracts/strategies/Generalized4626Strategy.sol#L75-L82", "id": "36721a3f5c9b22c9bd57a3041f3b07fcc21c57f456cc144dfe21fbfc82b777dd", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_initialize", "source_mapping": {"start": 321, "length": 98, "filename_relative": "contracts/governance/InitializableGovernable.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/InitializableGovernable.sol", "filename_short": "contracts/governance/InitializableGovernable.sol", "is_dependency": false, "lines": [13, 14, 15], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "InitializableGovernable", "source_mapping": {"start": 253, "length": 168, "filename_relative": "contracts/governance/InitializableGovernable.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/InitializableGovernable.sol", "filename_short": "contracts/governance/InitializableGovernable.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16], "starting_column": 1, "ending_column": 2}}, "signature": "_initialize(address)"}}], "description": "InitializableGovernable._initialize(address) (contracts/governance/InitializableGovernable.sol#13-15) is never used and should be removed\n", "markdown": "[InitializableGovernable._initialize(address)](contracts/governance/InitializableGovernable.sol#L13-L15) is never used and should be removed\n", "first_markdown_element": "contracts/governance/InitializableGovernable.sol#L13-L15", "id": "3f2ac1fe30d5e500e79d00d7cdcee650008e5473ee804bcc3ba92d1969ece075", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_require", "source_mapping": {"start": 1162, "length": 138, "filename_relative": "contracts/utils/BalancerErrors.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/utils/BalancerErrors.sol", "filename_short": "contracts/utils/BalancerErrors.sol", "is_dependency": false, "lines": [32, 33, 34, 35, 36, 37, 38], "starting_column": 1, "ending_column": 2}, "type_specific_fields": {"parent": null, "signature": "_require(bool,uint256,bytes3)"}}], "description": "_require(bool,uint256,bytes3) (contracts/utils/BalancerErrors.sol#32-38) is never used and should be removed\n", "markdown": "[_require(bool,uint256,bytes3)](contracts/utils/BalancerErrors.sol#L32-L38) is never used and should be removed\n", "first_markdown_element": "contracts/utils/BalancerErrors.sol#L32-L38", "id": "34a9a1f0d261723592d808bbe846d790121d01f33f11a357647ffba1718d4da8", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/buyback/Buyback.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/buyback/Buyback.sol#L2) allows old versions\n", "first_markdown_element": "contracts/buyback/Buyback.sol#L2", "id": "82f7aa39285a2aa0a0aeb4cba71ff4484e8d7d769c5cfd578256f37620cd4b1c", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/compensation/CompensationClaims.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/compensation/CompensationClaims.sol#L2) allows old versions\n", "first_markdown_element": "contracts/compensation/CompensationClaims.sol#L2", "id": "c02ba4c4226a7a9670dc4b7bab2bebca3a519f6c5a51add1ba22600ea05e24f7", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/flipper/Flipper.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/flipper/Flipper.sol", "filename_short": "contracts/flipper/Flipper.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/flipper/Flipper.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/flipper/Flipper.sol#L2) allows old versions\n", "first_markdown_element": "contracts/flipper/Flipper.sol#L2", "id": "281c63a535d0389950d5b075401c81b9c18da3629810d6f94c96e0e9348d77cf", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/governance/Governable.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/Governable.sol", "filename_short": "contracts/governance/Governable.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/governance/Governable.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/governance/Governable.sol#L2) allows old versions\n", "first_markdown_element": "contracts/governance/Governable.sol#L2", "id": "a9f16bb10340d2d12d80ed061384a2ffef346969793204e4fbedca1c24145ed8", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/governance/Governor.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/Governor.sol", "filename_short": "contracts/governance/Governor.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/governance/Governor.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/governance/Governor.sol#L2) allows old versions\n", "first_markdown_element": "contracts/governance/Governor.sol#L2", "id": "cacf63d5a01c6cc2a8853d12121bf90c8f7bc7c278244272b10503aeb7f0d558", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/governance/InitializableGovernable.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/InitializableGovernable.sol", "filename_short": "contracts/governance/InitializableGovernable.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/governance/InitializableGovernable.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/governance/InitializableGovernable.sol#L2) allows old versions\n", "first_markdown_element": "contracts/governance/InitializableGovernable.sol#L2", "id": "79d0ce734dc0dff71f45eec4127b00b9a96f302b448bccb8e53eac5491a7dea4", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/governance/Strategizable.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/Strategizable.sol", "filename_short": "contracts/governance/Strategizable.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/governance/Strategizable.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/governance/Strategizable.sol#L2) allows old versions\n", "first_markdown_element": "contracts/governance/Strategizable.sol#L2", "id": "6704e69d816d659695f9dff4ba63d12478df83cf402a95906fe4d0a8e3030a3f", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/harvest/BaseHarvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/BaseHarvester.sol", "filename_short": "contracts/harvest/BaseHarvester.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/harvest/BaseHarvester.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/harvest/BaseHarvester.sol#L2) allows old versions\n", "first_markdown_element": "contracts/harvest/BaseHarvester.sol#L2", "id": "a5124e066b2fbb7dd1e955b4fcd2beacad6be21123061eceed403b4726a7cd41", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/harvest/Dripper.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/Dripper.sol", "filename_short": "contracts/harvest/Dripper.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/harvest/Dripper.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/harvest/Dripper.sol#L2) allows old versions\n", "first_markdown_element": "contracts/harvest/Dripper.sol#L2", "id": "1140b3378dbcf85f848dd3593f6db455b81de599993575647a78a8e9e16d7e86", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/harvest/Harvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/Harvester.sol", "filename_short": "contracts/harvest/Harvester.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/harvest/Harvester.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/harvest/Harvester.sol#L2) allows old versions\n", "first_markdown_element": "contracts/harvest/Harvester.sol#L2", "id": "9da9505bab8b0fd00e20e6db4a6fead1534b69d28987dc31631a69876e522cbc", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/harvest/OETHDripper.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/OETHDripper.sol", "filename_short": "contracts/harvest/OETHDripper.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/harvest/OETHDripper.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/harvest/OETHDripper.sol#L2) allows old versions\n", "first_markdown_element": "contracts/harvest/OETHDripper.sol#L2", "id": "9868f31eabf1e720593a50a20e5bb824dd11b311d005285c616a0002edba9f6e", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/harvest/OETHHarvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/OETHHarvester.sol", "filename_short": "contracts/harvest/OETHHarvester.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/harvest/OETHHarvester.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/harvest/OETHHarvester.sol#L2) allows old versions\n", "first_markdown_element": "contracts/harvest/OETHHarvester.sol#L2", "id": "3a3adb7c5e90ad98fb80214a4f7844cffc76e3b15d6c0af1a826625357bb071a", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/interfaces/IBasicToken.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/IBasicToken.sol", "filename_short": "contracts/interfaces/IBasicToken.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/IBasicToken.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/IBasicToken.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/IBasicToken.sol#L2", "id": "94bff6382b90ad3924c0066cfd097d81ac291208d0369684cb54afe8658dabba", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/interfaces/IBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/IBuyback.sol", "filename_short": "contracts/interfaces/IBuyback.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/IBuyback.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/IBuyback.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/IBuyback.sol#L2", "id": "185bc9860851ec47e3d7ad04b7f00dca9776de2b9dd4d9fe036240034b795bfd", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/interfaces/IComptroller.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/IComptroller.sol", "filename_short": "contracts/interfaces/IComptroller.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/IComptroller.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/IComptroller.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/IComptroller.sol#L2", "id": "a0c1bfd5ca31ee3e23316e502e3ef04bf450325444d5445aff16c409cb4fc156", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/interfaces/IEthUsdOracle.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/IEthUsdOracle.sol", "filename_short": "contracts/interfaces/IEthUsdOracle.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/IEthUsdOracle.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/IEthUsdOracle.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/IEthUsdOracle.sol#L2", "id": "272e660a7ba45f6a97e0c83762294ab6e2cf4d00cbceda6120b5d8672a34489e", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/interfaces/IFraxETHMinter.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/IFraxETHMinter.sol", "filename_short": "contracts/interfaces/IFraxETHMinter.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/IFraxETHMinter.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/IFraxETHMinter.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/IFraxETHMinter.sol#L2", "id": "9a001f820d4bcc8f8cc237c99569448b23551b10274194dc40cdf0fb6dc674ff", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 0, "length": 23, "filename_relative": "contracts/interfaces/IGetExchangeRateToken.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/IGetExchangeRateToken.sol", "filename_short": "contracts/interfaces/IGetExchangeRateToken.sol", "is_dependency": false, "lines": [1], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/IGetExchangeRateToken.sol#1) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/IGetExchangeRateToken.sol#L1) allows old versions\n", "first_markdown_element": "contracts/interfaces/IGetExchangeRateToken.sol#L1", "id": "d40ef5adf85becbae2a11790f9e20e51d1a263c96199ebf02bb2f573909a129e", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/interfaces/IHarvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/IHarvester.sol", "filename_short": "contracts/interfaces/IHarvester.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/IHarvester.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/IHarvester.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/IHarvester.sol#L2", "id": "03c1e790b44ea5d7724d4ef7f0f2a546854105ff2368688bcefa16d3acacfddf", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/interfaces/IMinMaxOracle.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/IMinMaxOracle.sol", "filename_short": "contracts/interfaces/IMinMaxOracle.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/IMinMaxOracle.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/IMinMaxOracle.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/IMinMaxOracle.sol#L2", "id": "c2690b6bd4695286c86c5a3bd76986a663dca50c509ccf6ee859eccca2c7dc4d", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 0, "length": 23, "filename_relative": "contracts/interfaces/IOUSD.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/IOUSD.sol", "filename_short": "contracts/interfaces/IOUSD.sol", "is_dependency": false, "lines": [1], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/IOUSD.sol#1) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/IOUSD.sol#L1) allows old versions\n", "first_markdown_element": "contracts/interfaces/IOUSD.sol#L1", "id": "3853d01e8691288aa7cdbaa59886ee68e2413ccd489d898d83b2e49b4a1ddc23", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/interfaces/IOneInch.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/IOneInch.sol", "filename_short": "contracts/interfaces/IOneInch.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/IOneInch.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/IOneInch.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/IOneInch.sol#L2", "id": "e352c191d5ada9b352c135cde4fc6e19e45f1570610a939fe8633c71effdd36c", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/interfaces/IOracle.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/IOracle.sol", "filename_short": "contracts/interfaces/IOracle.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/IOracle.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/IOracle.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/IOracle.sol#L2", "id": "a4d7c9eafef08e42e6544dd4019cf9efe7f51c00050c35eb8c7cc462a5834952", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/interfaces/IPriceOracle.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/IPriceOracle.sol", "filename_short": "contracts/interfaces/IPriceOracle.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/IPriceOracle.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/IPriceOracle.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/IPriceOracle.sol#L2", "id": "ee7fa68441e218913764ed19aac4e5f2cf7278f785e7b33a65296ad6480202c1", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/interfaces/IRETH.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/IRETH.sol", "filename_short": "contracts/interfaces/IRETH.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/IRETH.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/IRETH.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/IRETH.sol#L2", "id": "5b1c6810abf706d2048174e3575be705a290708609ae849578f62744b17fd4f8", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/interfaces/ISfrxETH.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/ISfrxETH.sol", "filename_short": "contracts/interfaces/ISfrxETH.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/ISfrxETH.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/ISfrxETH.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/ISfrxETH.sol#L2", "id": "13e6b32cc8e9a01dc045d8cb5e1aee7fa29068785bd03dfbb1d63b0587431ec1", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/interfaces/IStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/IStrategy.sol", "filename_short": "contracts/interfaces/IStrategy.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/IStrategy.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/IStrategy.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/IStrategy.sol#L2", "id": "525cec582bcb9c733e3300d58ff77ebd629cf4d89a52fa0fe61d13f65c353a26", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 0, "length": 23, "filename_relative": "contracts/interfaces/ISwapper.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/ISwapper.sol", "filename_short": "contracts/interfaces/ISwapper.sol", "is_dependency": false, "lines": [1], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/ISwapper.sol#1) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/ISwapper.sol#L1) allows old versions\n", "first_markdown_element": "contracts/interfaces/ISwapper.sol#L1", "id": "0fec87f800d6723dd3d7de1770cc3be977e891e5b5fc4addf73063ff67c89925", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 0, "length": 23, "filename_relative": "contracts/interfaces/ITimelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/ITimelock.sol", "filename_short": "contracts/interfaces/ITimelock.sol", "is_dependency": false, "lines": [1], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/ITimelock.sol#1) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/ITimelock.sol#L1) allows old versions\n", "first_markdown_element": "contracts/interfaces/ITimelock.sol#L1", "id": "4475b124b600f3a464049046512f274d7d487f5569d04b0d0c8896a5148bc47f", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/interfaces/IVault.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/IVault.sol", "filename_short": "contracts/interfaces/IVault.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/IVault.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/IVault.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/IVault.sol#L2", "id": "17d8cdfc74b00a04ec29c0f955fcb435e6cea0762362480e26698d7dade395b8", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/interfaces/IWETH9.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/IWETH9.sol", "filename_short": "contracts/interfaces/IWETH9.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/IWETH9.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/IWETH9.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/IWETH9.sol#L2", "id": "fe92400d6c1a3a9d73cdad69563291319f87d651a109ea6ae2beabb7ce0257df", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/interfaces/IWstETH.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/IWstETH.sol", "filename_short": "contracts/interfaces/IWstETH.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/IWstETH.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/IWstETH.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/IWstETH.sol#L2", "id": "c5904f6311ae3dc0bc00d39c836d70c764336a6ee29b70c304c77c88bc0a33c2", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/interfaces/Tether.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/Tether.sol", "filename_short": "contracts/interfaces/Tether.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/Tether.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/Tether.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/Tether.sol#L2", "id": "a844a7c861e5d4669cae48ad216d93b53f055ecb38cb7e03df7bbebe4807598f", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/interfaces/UniswapV3Router.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/UniswapV3Router.sol", "filename_short": "contracts/interfaces/UniswapV3Router.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/UniswapV3Router.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/UniswapV3Router.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/UniswapV3Router.sol#L2", "id": "d998828992bf95d52edab99b51a8815ddfe7f3162d2f9d1803480d10c4d7ec75", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/interfaces/balancer/IBalancerVault.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/balancer/IBalancerVault.sol", "filename_short": "contracts/interfaces/balancer/IBalancerVault.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/balancer/IBalancerVault.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/balancer/IBalancerVault.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/balancer/IBalancerVault.sol#L2", "id": "cdc4df825083a60dad418af5da34b0a1ec66633977db1a83c207f24c4bd63695", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/interfaces/balancer/IMetaStablePool.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/balancer/IMetaStablePool.sol", "filename_short": "contracts/interfaces/balancer/IMetaStablePool.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/balancer/IMetaStablePool.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/balancer/IMetaStablePool.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/balancer/IMetaStablePool.sol#L2", "id": "21c15fd4f5fde0afd4976aeba6c1deac5c4fbd35dc65d80072398480ac362567", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 688, "length": 23, "filename_relative": "contracts/interfaces/balancer/IRateProvider.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/balancer/IRateProvider.sol", "filename_short": "contracts/interfaces/balancer/IRateProvider.sol", "is_dependency": false, "lines": [15], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/balancer/IRateProvider.sol#15) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/balancer/IRateProvider.sol#L15) allows old versions\n", "first_markdown_element": "contracts/interfaces/balancer/IRateProvider.sol#L15", "id": "a0200a0094ccd65b05e62909b5fb57759e74fd67119ad883a12d88b5d212a337", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/interfaces/chainlink/AggregatorV3Interface.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/chainlink/AggregatorV3Interface.sol", "filename_short": "contracts/interfaces/chainlink/AggregatorV3Interface.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/chainlink/AggregatorV3Interface.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/chainlink/AggregatorV3Interface.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/chainlink/AggregatorV3Interface.sol#L2", "id": "bc2ed3a6e692a07531fedf75dcd82f2e3779a5b53516d2e1624c85b32b4e820a", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 39, "length": 23, "filename_relative": "contracts/interfaces/morpho/ILens.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/morpho/ILens.sol", "filename_short": "contracts/interfaces/morpho/ILens.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/morpho/ILens.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/morpho/ILens.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/morpho/ILens.sol#L2", "id": "788b8c236da191737cf5aa9e818a9211e81393c2f3d1e9ff13f3f1212474ce4c", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 39, "length": 23, "filename_relative": "contracts/interfaces/morpho/IMorpho.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/morpho/IMorpho.sol", "filename_short": "contracts/interfaces/morpho/IMorpho.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/morpho/IMorpho.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/morpho/IMorpho.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/morpho/IMorpho.sol#L2", "id": "45909fd8b83fa9fe6a683644183358818f916d3da4ca7fe7118156a2eea13da1", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 39, "length": 23, "filename_relative": "contracts/interfaces/morpho/Types.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/morpho/Types.sol", "filename_short": "contracts/interfaces/morpho/Types.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/morpho/Types.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/morpho/Types.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/morpho/Types.sol#L2", "id": "87f2050fdffd7c5fcf5d0654ad19df383bf596df78181862f3ce6f9b683fc560", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 39, "length": 23, "filename_relative": "contracts/interfaces/morpho/compound/ICompoundOracle.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/morpho/compound/ICompoundOracle.sol", "filename_short": "contracts/interfaces/morpho/compound/ICompoundOracle.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/morpho/compound/ICompoundOracle.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/morpho/compound/ICompoundOracle.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/morpho/compound/ICompoundOracle.sol#L2", "id": "76d014d0be4fa6cf1f9a4b64ad201ec259fbf01a6eefb98db5f61fb514c224c5", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/interfaces/uniswap/IUniswapV2Pair.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/uniswap/IUniswapV2Pair.sol", "filename_short": "contracts/interfaces/uniswap/IUniswapV2Pair.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/uniswap/IUniswapV2Pair.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/uniswap/IUniswapV2Pair.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/uniswap/IUniswapV2Pair.sol#L2", "id": "b1c5a3bbf566b0e621c50e7ba4220664bd1e54da43fad71dbc938a5eded7f2c2", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/interfaces/uniswap/IUniswapV2Router02.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/uniswap/IUniswapV2Router02.sol", "filename_short": "contracts/interfaces/uniswap/IUniswapV2Router02.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/uniswap/IUniswapV2Router02.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/uniswap/IUniswapV2Router02.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/uniswap/IUniswapV2Router02.sol#L2", "id": "ad47007ddc5c67344d81dc344b49bf500ecc26e3135bd77a62fde43bd7c7b7dd", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/liquidity/LiquidityReward.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/liquidity/LiquidityReward.sol", "filename_short": "contracts/liquidity/LiquidityReward.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/liquidity/LiquidityReward.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/liquidity/LiquidityReward.sol#L2) allows old versions\n", "first_markdown_element": "contracts/liquidity/LiquidityReward.sol#L2", "id": "af43855351ffe0839a4022c9ace8a3c16d22dc86d07d1d2757ecf6f7dbee0bd7", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/oracle/OracleRouter.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/oracle/OracleRouter.sol", "filename_short": "contracts/oracle/OracleRouter.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/oracle/OracleRouter.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/oracle/OracleRouter.sol#L2) allows old versions\n", "first_markdown_element": "contracts/oracle/OracleRouter.sol#L2", "id": "51334591a78dd22a137807b4acc53389925f973033124c5930c642a302ba29b0", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#L2) allows old versions\n", "first_markdown_element": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#L2", "id": "4c766eb1c2e89d40beed9275537ff433a6045d434cdfc1b437e6fc4acc2856b9", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/proxies/Proxies.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/Proxies.sol", "filename_short": "contracts/proxies/Proxies.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/proxies/Proxies.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/proxies/Proxies.sol#L2) allows old versions\n", "first_markdown_element": "contracts/proxies/Proxies.sol#L2", "id": "54449952b8d4d7f912b7edd63a4d5f250415aca230353b6f0c2436fd08bab7c4", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/staking/SingleAssetStaking.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/staking/SingleAssetStaking.sol#L2) allows old versions\n", "first_markdown_element": "contracts/staking/SingleAssetStaking.sol#L2", "id": "0d9b9be73b171a1f5847e5df0adf23a9896dd80d43e0f466a74a13d345d8a91e", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/AaveStrategy.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/AaveStrategy.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/AaveStrategy.sol#L2", "id": "4b6bd9fd37caf2805f5c155743471e5190c0d3c67a058c887282f845b01fbd3c", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/BaseCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/BaseCompoundStrategy.sol", "filename_short": "contracts/strategies/BaseCompoundStrategy.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/BaseCompoundStrategy.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/BaseCompoundStrategy.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/BaseCompoundStrategy.sol#L2", "id": "ffb011aa0e9b47c467913e4c84522cce51b070125b4d896dd3573a9a7ef2d180", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/BaseConvexMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/BaseConvexMetaStrategy.sol", "filename_short": "contracts/strategies/BaseConvexMetaStrategy.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/BaseConvexMetaStrategy.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/BaseConvexMetaStrategy.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/BaseConvexMetaStrategy.sol#L2", "id": "83428776089a6ca8806eb19a4738ab918e43169a57b4e961f748db3bd1950a43", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/BaseCurveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/BaseCurveStrategy.sol", "filename_short": "contracts/strategies/BaseCurveStrategy.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/BaseCurveStrategy.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/BaseCurveStrategy.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/BaseCurveStrategy.sol#L2", "id": "d2a54684ab02a9305bab0d6c3424e84d8370c96874128ca7e5a41660bc8f06fc", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/CompoundStrategy.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/CompoundStrategy.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/CompoundStrategy.sol#L2", "id": "92a7098362a42f7f87c42e9d955c08eb71aa98a0d92611ed508d73c3118fa022", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/ConvexEthMetaStrategy.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/ConvexEthMetaStrategy.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/ConvexEthMetaStrategy.sol#L2", "id": "7edb20db5c0200c2bd05a4366895fdf37f10cd1d2bb0d695908c07e9c837b848", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/ConvexGeneralizedMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexGeneralizedMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexGeneralizedMetaStrategy.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/ConvexGeneralizedMetaStrategy.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/ConvexGeneralizedMetaStrategy.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/ConvexGeneralizedMetaStrategy.sol#L2", "id": "5fa480122d27055b8ec676e247738324933e9773ab3abda6f51098e1daeeec04", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/ConvexOUSDMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexOUSDMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexOUSDMetaStrategy.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/ConvexOUSDMetaStrategy.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/ConvexOUSDMetaStrategy.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/ConvexOUSDMetaStrategy.sol#L2", "id": "ac6a57a349bf50561c41daec54512d189e8ce8f2e71080e3bc8ffe87dd163260", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/ConvexStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexStrategy.sol", "filename_short": "contracts/strategies/ConvexStrategy.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/ConvexStrategy.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/ConvexStrategy.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/ConvexStrategy.sol#L2", "id": "897cc29611993f610e5dc9875acb6ad1998d16d5db80ef87cb24be58fe75fed6", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/FluxStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/FluxStrategy.sol", "filename_short": "contracts/strategies/FluxStrategy.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/FluxStrategy.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/FluxStrategy.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/FluxStrategy.sol#L2", "id": "393fbd06405ca3131afb6417a96cbe43833001f958740775dec3a1592922d214", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/FraxETHStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/FraxETHStrategy.sol", "filename_short": "contracts/strategies/FraxETHStrategy.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/FraxETHStrategy.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/FraxETHStrategy.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/FraxETHStrategy.sol#L2", "id": "8ef2be5e3d56be6f3c3457596407a8fe5c07c5950a462c145e1ebed8a11c9994", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/Generalized4626Strategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/Generalized4626Strategy.sol", "filename_short": "contracts/strategies/Generalized4626Strategy.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/Generalized4626Strategy.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/Generalized4626Strategy.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/Generalized4626Strategy.sol#L2", "id": "2a08a0f02b99768b50a70e61fa311b9a27abdbe4d3123dac80ce0a92a573621e", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/IAave.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/IAave.sol", "filename_short": "contracts/strategies/IAave.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/IAave.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/IAave.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/IAave.sol#L2", "id": "03d09f76f6327ec3e00462e72f330bc5b7b74c4c76dd86178740bae9b58213df", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/IAaveIncentivesController.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/IAaveIncentivesController.sol", "filename_short": "contracts/strategies/IAaveIncentivesController.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/IAaveIncentivesController.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/IAaveIncentivesController.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/IAaveIncentivesController.sol#L2", "id": "021193b4603c0ed5ac062858b53e3888ceb0c79df1cc0b782fafd97a6197c153", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/IAaveStakeToken.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/IAaveStakeToken.sol", "filename_short": "contracts/strategies/IAaveStakeToken.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/IAaveStakeToken.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/IAaveStakeToken.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/IAaveStakeToken.sol#L2", "id": "51aed3d5dcdcf77b6106f36ac622c82acef7e0d7ff7892b311e1adc4bbb0edc7", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/ICRVMinter.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ICRVMinter.sol", "filename_short": "contracts/strategies/ICRVMinter.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/ICRVMinter.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/ICRVMinter.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/ICRVMinter.sol#L2", "id": "c1e0e830ba7445a95b4c566d6ec67217c2d6b9749ead120e45b1ebf8015c8bc4", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/ICompound.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ICompound.sol", "filename_short": "contracts/strategies/ICompound.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/ICompound.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/ICompound.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/ICompound.sol#L2", "id": "ddba7df5322db75d195376ffb9e85ab8e56d1c7c52815188d440127a56fd9745", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/IConvexDeposits.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/IConvexDeposits.sol", "filename_short": "contracts/strategies/IConvexDeposits.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/IConvexDeposits.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/IConvexDeposits.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/IConvexDeposits.sol#L2", "id": "bd18c560914c2915ea918e64268f9d1d198f7ccf10dd56022daaac37648414e1", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/ICurveETHPoolV1.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ICurveETHPoolV1.sol", "filename_short": "contracts/strategies/ICurveETHPoolV1.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/ICurveETHPoolV1.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/ICurveETHPoolV1.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/ICurveETHPoolV1.sol#L2", "id": "87f73a3e8426ca53be7f43f25aef20229cd70ff8b3959b7f179297693c5de12f", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/ICurveGauge.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ICurveGauge.sol", "filename_short": "contracts/strategies/ICurveGauge.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/ICurveGauge.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/ICurveGauge.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/ICurveGauge.sol#L2", "id": "238b46b151a29be97e64f11d9fe1618d42b47fe81401a8cdcc641adba9ebc20e", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.4", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/ICurveMetaPool.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ICurveMetaPool.sol", "filename_short": "contracts/strategies/ICurveMetaPool.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".4"]}}], "description": "Pragma version^0.8.4 (contracts/strategies/ICurveMetaPool.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.4](contracts/strategies/ICurveMetaPool.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/ICurveMetaPool.sol#L2", "id": "7c55a7fd5852f4820ced907ab1a5d0cd97dfe970237e22a8ce7d08c37f23bd74", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/ICurvePool.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ICurvePool.sol", "filename_short": "contracts/strategies/ICurvePool.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/ICurvePool.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/ICurvePool.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/ICurvePool.sol#L2", "id": "f757494eaef356ad0c81503b9251f6301b88a90c82132045d49aaad9905f3f93", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/IRewardStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/IRewardStaking.sol", "filename_short": "contracts/strategies/IRewardStaking.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/IRewardStaking.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/IRewardStaking.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/IRewardStaking.sol#L2", "id": "9f4345a2ad09e15353a5110b5f623427acaef0955ffa86e0566554f27c6888fe", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/MorphoAaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoAaveStrategy.sol", "filename_short": "contracts/strategies/MorphoAaveStrategy.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/MorphoAaveStrategy.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/MorphoAaveStrategy.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/MorphoAaveStrategy.sol#L2", "id": "093a7824790924e30487939ec460262253829141fddcf00da32cf96c270de1e1", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/MorphoCompoundStrategy.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/MorphoCompoundStrategy.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/MorphoCompoundStrategy.sol#L2", "id": "8db8fc20ef33347d2f01428f1313b44970fa01ceb2a5b5077ee12535f3cc74cd", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/ThreePoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ThreePoolStrategy.sol", "filename_short": "contracts/strategies/ThreePoolStrategy.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/ThreePoolStrategy.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/ThreePoolStrategy.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/ThreePoolStrategy.sol#L2", "id": "2c01ceb3c023f424da1ce7aad8d10035e4e03ef67f4043df9a0756dee97d0ae5", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/VaultValueChecker.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/VaultValueChecker.sol", "filename_short": "contracts/strategies/VaultValueChecker.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/VaultValueChecker.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/VaultValueChecker.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/VaultValueChecker.sol#L2", "id": "f0e49630796934edda0580f937847757b9f78dfd24164ef52ff32d0624f92cbf", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L2", "id": "96a4f714939f6ce445a212a2c1e8cf2337907993803525b501c6e4c568b2290a", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/balancer/BaseAuraStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BaseAuraStrategy.sol", "filename_short": "contracts/strategies/balancer/BaseAuraStrategy.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/balancer/BaseAuraStrategy.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/balancer/BaseAuraStrategy.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/balancer/BaseAuraStrategy.sol#L2", "id": "f74abab019eaf77a854245706492d983f7f3b8c74afb17987914e021ce4e7857", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_short": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/balancer/BaseBalancerStrategy.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/balancer/BaseBalancerStrategy.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/balancer/BaseBalancerStrategy.sol#L2", "id": "35dd7da8ef2b42cd69590a715e37e95b1d6264518801e2b112e605aaaf0e0dc1", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": ">=0.7.0<0.9.0", "source_mapping": {"start": 688, "length": 31, "filename_relative": "contracts/strategies/balancer/VaultReentrancyLib.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/VaultReentrancyLib.sol", "filename_short": "contracts/strategies/balancer/VaultReentrancyLib.sol", "is_dependency": false, "lines": [15], "starting_column": 1, "ending_column": 32}, "type_specific_fields": {"directive": ["solidity", ">=", "0.7", ".0", "<", "0.9", ".0"]}}], "description": "Pragma version>=0.7.0<0.9.0 (contracts/strategies/balancer/VaultReentrancyLib.sol#15) is too complex\n", "markdown": "Pragma version[>=0.7.0<0.9.0](contracts/strategies/balancer/VaultReentrancyLib.sol#L15) is too complex\n", "first_markdown_element": "contracts/strategies/balancer/VaultReentrancyLib.sol#L15", "id": "6580f38da1aa240fb5b3862439e748ea499bd72ee055940f18478a7c52715b0e", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/swapper/Swapper1InchV5.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/swapper/Swapper1InchV5.sol", "filename_short": "contracts/swapper/Swapper1InchV5.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/swapper/Swapper1InchV5.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/swapper/Swapper1InchV5.sol#L2) allows old versions\n", "first_markdown_element": "contracts/swapper/Swapper1InchV5.sol#L2", "id": "a4c33b5af6d7e7fe16f2ced5aa2b62c83a02c59f7473bf8ed321f7a47673c1ff", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/timelock/Timelock.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/timelock/Timelock.sol#L2) allows old versions\n", "first_markdown_element": "contracts/timelock/Timelock.sol#L2", "id": "d28fc27cadb50f2a9adcbf2679eefb86dc31b472d1f1f52197fd3b627cfe9009", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/token/OETH.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/token/OETH.sol", "filename_short": "contracts/token/OETH.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/token/OETH.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/token/OETH.sol#L2) allows old versions\n", "first_markdown_element": "contracts/token/OETH.sol#L2", "id": "0c536785d47453c3e04de56ec0b68c6a1615dccdc19a62e2c85682e2a8f7c7d5", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/token/OUSD.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/token/OUSD.sol#L2) allows old versions\n", "first_markdown_element": "contracts/token/OUSD.sol#L2", "id": "4c28a6c60c940b0c929b0752f10fc43d2c0da77f4294e3d9a3a7284d9d82299a", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/token/WOETH.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/token/WOETH.sol", "filename_short": "contracts/token/WOETH.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/token/WOETH.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/token/WOETH.sol#L2) allows old versions\n", "first_markdown_element": "contracts/token/WOETH.sol#L2", "id": "17861c958de8b62ca693a620b8acfdfa2d1bd58c2f5784a862e1b7547303e94d", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/token/WrappedOusd.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/token/WrappedOusd.sol", "filename_short": "contracts/token/WrappedOusd.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/token/WrappedOusd.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/token/WrappedOusd.sol#L2) allows old versions\n", "first_markdown_element": "contracts/token/WrappedOusd.sol#L2", "id": "3e4418ef1bc9e338a5aeb1cfa883886f37ab4e0da2435bd3b234ba49d317e730", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": ">=0.7.4<0.9.0", "source_mapping": {"start": 688, "length": 31, "filename_relative": "contracts/utils/BalancerErrors.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/utils/BalancerErrors.sol", "filename_short": "contracts/utils/BalancerErrors.sol", "is_dependency": false, "lines": [15], "starting_column": 1, "ending_column": 32}, "type_specific_fields": {"directive": ["solidity", ">=", "0.7", ".4", "<", "0.9", ".0"]}}], "description": "Pragma version>=0.7.4<0.9.0 (contracts/utils/BalancerErrors.sol#15) is too complex\n", "markdown": "Pragma version[>=0.7.4<0.9.0](contracts/utils/BalancerErrors.sol#L15) is too complex\n", "first_markdown_element": "contracts/utils/BalancerErrors.sol#L15", "id": "70df7857ac9891aa8cf53e027c04023696b0ad1f76d554b9977078967ae979a3", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/utils/Helpers.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/utils/Helpers.sol", "filename_short": "contracts/utils/Helpers.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/utils/Helpers.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/utils/Helpers.sol#L2) allows old versions\n", "first_markdown_element": "contracts/utils/Helpers.sol#L2", "id": "86623102155b1f075f6ea2dd0ddac7ed6b2d3b622cb613deefb6c97e2a0be030", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/utils/Initializable.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/utils/Initializable.sol", "filename_short": "contracts/utils/Initializable.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/utils/Initializable.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/utils/Initializable.sol#L2) allows old versions\n", "first_markdown_element": "contracts/utils/Initializable.sol#L2", "id": "1b5144dca22360d396579ab156ffa691cbf0ed4e22bf3c00ee10fabf9703e062", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/utils/InitializableAbstractStrategy.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/utils/InitializableAbstractStrategy.sol#L2) allows old versions\n", "first_markdown_element": "contracts/utils/InitializableAbstractStrategy.sol#L2", "id": "e4ba9f8308fcf868334ea35ea0011b4dc5065ea98e8e2f866b6663636a34133c", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/utils/InitializableERC20Detailed.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/utils/InitializableERC20Detailed.sol", "filename_short": "contracts/utils/InitializableERC20Detailed.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/utils/InitializableERC20Detailed.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/utils/InitializableERC20Detailed.sol#L2) allows old versions\n", "first_markdown_element": "contracts/utils/InitializableERC20Detailed.sol#L2", "id": "cc3087c4f9d79aeb7b09b5af0de7a2c21f568639180749dfae8282cc230769ac", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/vault/OETHVault.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHVault.sol", "filename_short": "contracts/vault/OETHVault.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/vault/OETHVault.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/vault/OETHVault.sol#L2) allows old versions\n", "first_markdown_element": "contracts/vault/OETHVault.sol#L2", "id": "604949a689d5c3b2ab20fb9cd6b7310f14ac7bd713bc96e0db26d320a9eb864d", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/vault/OETHVaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHVaultAdmin.sol", "filename_short": "contracts/vault/OETHVaultAdmin.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/vault/OETHVaultAdmin.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/vault/OETHVaultAdmin.sol#L2) allows old versions\n", "first_markdown_element": "contracts/vault/OETHVaultAdmin.sol#L2", "id": "52063d9c11ce856aae9c6be5a5bac5eb2aa90d6adb13982fc7a8eba2ebae9a76", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/vault/OETHVaultCore.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHVaultCore.sol", "filename_short": "contracts/vault/OETHVaultCore.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/vault/OETHVaultCore.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/vault/OETHVaultCore.sol#L2) allows old versions\n", "first_markdown_element": "contracts/vault/OETHVaultCore.sol#L2", "id": "61a2f9dd5eda9e2116a60248dcfec34b77e86aa3f21e921ac302464213dee3b3", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/vault/OETHZapper.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/vault/OETHZapper.sol#L2) allows old versions\n", "first_markdown_element": "contracts/vault/OETHZapper.sol#L2", "id": "147adfb2889187ec2a27af28deae1179c4fbdbdcf42e2d98832947d7a6daa618", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/vault/Vault.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/Vault.sol", "filename_short": "contracts/vault/Vault.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/vault/Vault.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/vault/Vault.sol#L2) allows old versions\n", "first_markdown_element": "contracts/vault/Vault.sol#L2", "id": "9a51591a30b72d5cd9296be4fbbb7b829de2b26331556dd05fb210fce4ce90d8", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/vault/VaultAdmin.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/vault/VaultAdmin.sol#L2) allows old versions\n", "first_markdown_element": "contracts/vault/VaultAdmin.sol#L2", "id": "af09cf9a6cd593314e07a4a02c9fda9d86de52506100b576110e312776e508d3", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/vault/VaultCore.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/vault/VaultCore.sol#L2) allows old versions\n", "first_markdown_element": "contracts/vault/VaultCore.sol#L2", "id": "c6f1fe952b98499175623c21fa73863d0e52ede9adcdb9a0840b62c0ba0f4636", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/vault/VaultStorage.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/vault/VaultStorage.sol#L2) allows old versions\n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L2", "id": "8f3edef86568cc9c580189310994269662f4ded56367af9f91567362f996681f", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": ">=0.4.22<0.9.0", "source_mapping": {"start": 32, "length": 33, "filename_relative": "node_modules/hardhat/console.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/node_modules/hardhat/console.sol", "filename_short": "node_modules/hardhat/console.sol", "is_dependency": true, "lines": [2], "starting_column": 1, "ending_column": 34}, "type_specific_fields": {"directive": ["solidity", ">=", "0.4", ".22", "<", "0.9", ".0"]}}], "description": "Pragma version>=0.4.22<0.9.0 (node_modules/hardhat/console.sol#2) is too complex\n", "markdown": "Pragma version[>=0.4.22<0.9.0](node_modules/hardhat/console.sol#L2) is too complex\n", "first_markdown_element": "node_modules/hardhat/console.sol#L2", "id": "f30cc00866ad4644a058066a785a40fc85920295b639d57c66467131996ae1a5", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [], "description": "solc-0.8.7 is not recommended for deployment\n", "markdown": "solc-0.8.7 is not recommended for deployment\n", "first_markdown_element": "", "id": "7625fc0b76e6d47f90acb00bf7e2271fd51795d3b2a30f085edbbc0db8832c0c", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "initialize", "source_mapping": {"start": 1352, "length": 545, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "InitializeGovernedUpgradeabilityProxy", "source_mapping": {"start": 450, "length": 6294, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [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], "starting_column": 1, "ending_column": 2}}, "signature": "initialize(address,address,bytes)"}}, {"type": "node", "name": "(success) = _logic.delegatecall(_data)", "source_mapping": {"start": 1765, "length": 45, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [46], "starting_column": 13, "ending_column": 58}, "type_specific_fields": {"parent": {"type": "function", "name": "initialize", "source_mapping": {"start": 1352, "length": 545, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "InitializeGovernedUpgradeabilityProxy", "source_mapping": {"start": 450, "length": 6294, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [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], "starting_column": 1, "ending_column": 2}}, "signature": "initialize(address,address,bytes)"}}}}], "description": "Low level call in InitializeGovernedUpgradeabilityProxy.initialize(address,address,bytes) (contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#34-50):\n\t- (success) = _logic.delegatecall(_data) (contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#46)\n", "markdown": "Low level call in [InitializeGovernedUpgradeabilityProxy.initialize(address,address,bytes)](contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#L34-L50):\n\t- [(success) = _logic.delegatecall(_data)](contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#L46)\n", "first_markdown_element": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#L34-L50", "id": "6c5c3cf16cf2b84b5eb1ddd1ec60c27b5513ecedd039521383bf5b583573950a", "check": "low-level-calls", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "upgradeToAndCall", "source_mapping": {"start": 3091, "length": 269, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [84, 85, 86, 87, 88, 89, 90, 91, 92], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "InitializeGovernedUpgradeabilityProxy", "source_mapping": {"start": 450, "length": 6294, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [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], "starting_column": 1, "ending_column": 2}}, "signature": "upgradeToAndCall(address,bytes)"}}, {"type": "node", "name": "(success) = newImplementation.delegatecall(data)", "source_mapping": {"start": 3272, "length": 55, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [90], "starting_column": 9, "ending_column": 64}, "type_specific_fields": {"parent": {"type": "function", "name": "upgradeToAndCall", "source_mapping": {"start": 3091, "length": 269, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [84, 85, 86, 87, 88, 89, 90, 91, 92], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "InitializeGovernedUpgradeabilityProxy", "source_mapping": {"start": 450, "length": 6294, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [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], "starting_column": 1, "ending_column": 2}}, "signature": "upgradeToAndCall(address,bytes)"}}}}], "description": "Low level call in InitializeGovernedUpgradeabilityProxy.upgradeToAndCall(address,bytes) (contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#84-92):\n\t- (success) = newImplementation.delegatecall(data) (contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#90)\n", "markdown": "Low level call in [InitializeGovernedUpgradeabilityProxy.upgradeToAndCall(address,bytes)](contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#L84-L92):\n\t- [(success) = newImplementation.delegatecall(data)](contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#L90)\n", "first_markdown_element": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#L84-L92", "id": "7f2660b6c4c8a8a08bd4c88bece7832ccd9c9463eef8e34dabd5f732b86d6d47", "check": "low-level-calls", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "ensureNotInVaultContext", "source_mapping": {"start": 2014, "length": 2926, "filename_relative": "contracts/strategies/balancer/VaultReentrancyLib.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/VaultReentrancyLib.sol", "filename_short": "contracts/strategies/balancer/VaultReentrancyLib.sol", "is_dependency": false, "lines": [37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultReentrancyLib", "source_mapping": {"start": 842, "length": 4100, "filename_relative": "contracts/strategies/balancer/VaultReentrancyLib.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/VaultReentrancyLib.sol", "filename_short": "contracts/strategies/balancer/VaultReentrancyLib.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], "starting_column": 1, "ending_column": 2}}, "signature": "ensureNotInVaultContext(IBalancerVault)"}}, {"type": "node", "name": "(revertData) = address(vault).staticcall{gas: 10_000}(abi.encodeWithSelector(vault.manageUserBalance.selector,0))", "source_mapping": {"start": 4718, "length": 153, "filename_relative": "contracts/strategies/balancer/VaultReentrancyLib.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/VaultReentrancyLib.sol", "filename_short": "contracts/strategies/balancer/VaultReentrancyLib.sol", "is_dependency": false, "lines": [78, 79, 80], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "ensureNotInVaultContext", "source_mapping": {"start": 2014, "length": 2926, "filename_relative": "contracts/strategies/balancer/VaultReentrancyLib.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/VaultReentrancyLib.sol", "filename_short": "contracts/strategies/balancer/VaultReentrancyLib.sol", "is_dependency": false, "lines": [37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultReentrancyLib", "source_mapping": {"start": 842, "length": 4100, "filename_relative": "contracts/strategies/balancer/VaultReentrancyLib.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/VaultReentrancyLib.sol", "filename_short": "contracts/strategies/balancer/VaultReentrancyLib.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], "starting_column": 1, "ending_column": 2}}, "signature": "ensureNotInVaultContext(IBalancerVault)"}}}}], "description": "Low level call in VaultReentrancyLib.ensureNotInVaultContext(IBalancerVault) (contracts/strategies/balancer/VaultReentrancyLib.sol#37-83):\n\t- (revertData) = address(vault).staticcall{gas: 10_000}(abi.encodeWithSelector(vault.manageUserBalance.selector,0)) (contracts/strategies/balancer/VaultReentrancyLib.sol#78-80)\n", "markdown": "Low level call in [VaultReentrancyLib.ensureNotInVaultContext(IBalancerVault)](contracts/strategies/balancer/VaultReentrancyLib.sol#L37-L83):\n\t- [(revertData) = address(vault).staticcall{gas: 10_000}(abi.encodeWithSelector(vault.manageUserBalance.selector,0))](contracts/strategies/balancer/VaultReentrancyLib.sol#L78-L80)\n", "first_markdown_element": "contracts/strategies/balancer/VaultReentrancyLib.sol#L37-L83", "id": "98316229491915cc66c956087ac79402c560c3f206de5f6cd847957cb34b9835", "check": "low-level-calls", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "executeTransaction", "source_mapping": {"start": 4611, "length": 1434, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Timelock", "source_mapping": {"start": 298, "length": 6391, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242], "starting_column": 1, "ending_column": 2}}, "signature": "executeTransaction(address,string,bytes,uint256)"}}, {"type": "node", "name": "(success,returnData) = target.call(callData)", "source_mapping": {"start": 5793, "length": 63, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [211], "starting_column": 9, "ending_column": 72}, "type_specific_fields": {"parent": {"type": "function", "name": "executeTransaction", "source_mapping": {"start": 4611, "length": 1434, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Timelock", "source_mapping": {"start": 298, "length": 6391, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242], "starting_column": 1, "ending_column": 2}}, "signature": "executeTransaction(address,string,bytes,uint256)"}}}}], "description": "Low level call in Timelock.executeTransaction(address,string,bytes,uint256) (contracts/timelock/Timelock.sol#171-220):\n\t- (success,returnData) = target.call(callData) (contracts/timelock/Timelock.sol#211)\n", "markdown": "Low level call in [Timelock.executeTransaction(address,string,bytes,uint256)](contracts/timelock/Timelock.sol#L171-L220):\n\t- [(success,returnData) = target.call(callData)](contracts/timelock/Timelock.sol#L211)\n", "first_markdown_element": "contracts/timelock/Timelock.sol#L171-L220", "id": "fc264625329d03fc92609ac851cf350acd7395286be85f37aa67182242c97b4c", "check": "low-level-calls", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "contract", "name": "Buyback", "source_mapping": {"start": 471, "length": 6795, "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224], "starting_column": 1, "ending_column": 2}}, {"type": "contract", "name": "IBuyback", "source_mapping": {"start": 57, "length": 52, "filename_relative": "contracts/interfaces/IBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/IBuyback.sol", "filename_short": "contracts/interfaces/IBuyback.sol", "is_dependency": false, "lines": [4, 5, 6], "starting_column": 1, "ending_column": 2}}], "description": "Buyback (contracts/buyback/Buyback.sol#12-224) should inherit from IBuyback (contracts/interfaces/IBuyback.sol#4-6)\n", "markdown": "[Buyback](contracts/buyback/Buyback.sol#L12-L224) should inherit from [IBuyback](contracts/interfaces/IBuyback.sol#L4-L6)\n", "first_markdown_element": "contracts/buyback/Buyback.sol#L12-L224", "id": "888f95b000b702e7d04774c76c9794a92c1e80600b6b7a97ce73c55bcee78fe5", "check": "missing-inheritance", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "contract", "name": "CompensationClaims", "source_mapping": {"start": 1527, "length": 3674, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164], "starting_column": 1, "ending_column": 2}}, {"type": "contract", "name": "IERC20Decimals", "source_mapping": {"start": 5203, "length": 83, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [166, 167, 168], "starting_column": 1, "ending_column": 2}}], "description": "CompensationClaims (contracts/compensation/CompensationClaims.sol#42-164) should inherit from IERC20Decimals (contracts/compensation/CompensationClaims.sol#166-168)\n", "markdown": "[CompensationClaims](contracts/compensation/CompensationClaims.sol#L42-L164) should inherit from [IERC20Decimals](contracts/compensation/CompensationClaims.sol#L166-L168)\n", "first_markdown_element": "contracts/compensation/CompensationClaims.sol#L42-L164", "id": "bb54307d75b10bfbf4bd0c5601ff99f3589c5042d9ed260e9d972572a851db43", "check": "missing-inheritance", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "amountADesired", "source_mapping": {"start": 448, "length": 22, "filename_relative": "contracts/interfaces/uniswap/IUniswapV2Router02.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/uniswap/IUniswapV2Router02.sol", "filename_short": "contracts/interfaces/uniswap/IUniswapV2Router02.sol", "is_dependency": false, "lines": [18], "starting_column": 9, "ending_column": 31}, "type_specific_fields": {"parent": {"type": "function", "name": "addLiquidity", "source_mapping": {"start": 369, "length": 375, "filename_relative": "contracts/interfaces/uniswap/IUniswapV2Router02.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/uniswap/IUniswapV2Router02.sol", "filename_short": "contracts/interfaces/uniswap/IUniswapV2Router02.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30], "starting_column": 5, "ending_column": 11}, "type_specific_fields": {"parent": {"type": "contract", "name": "IUniswapV2Router", "source_mapping": {"start": 57, "length": 689, "filename_relative": "contracts/interfaces/uniswap/IUniswapV2Router02.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/uniswap/IUniswapV2Router02.sol", "filename_short": "contracts/interfaces/uniswap/IUniswapV2Router02.sol", "is_dependency": false, "lines": [4, 5, 6, 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], "starting_column": 1, "ending_column": 2}}, "signature": "addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)"}}}}, {"type": "variable", "name": "amountBDesired", "source_mapping": {"start": 480, "length": 22, "filename_relative": "contracts/interfaces/uniswap/IUniswapV2Router02.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/uniswap/IUniswapV2Router02.sol", "filename_short": "contracts/interfaces/uniswap/IUniswapV2Router02.sol", "is_dependency": false, "lines": [19], "starting_column": 9, "ending_column": 31}, "type_specific_fields": {"parent": {"type": "function", "name": "addLiquidity", "source_mapping": {"start": 369, "length": 375, "filename_relative": "contracts/interfaces/uniswap/IUniswapV2Router02.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/uniswap/IUniswapV2Router02.sol", "filename_short": "contracts/interfaces/uniswap/IUniswapV2Router02.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30], "starting_column": 5, "ending_column": 11}, "type_specific_fields": {"parent": {"type": "contract", "name": "IUniswapV2Router", "source_mapping": {"start": 57, "length": 689, "filename_relative": "contracts/interfaces/uniswap/IUniswapV2Router02.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/uniswap/IUniswapV2Router02.sol", "filename_short": "contracts/interfaces/uniswap/IUniswapV2Router02.sol", "is_dependency": false, "lines": [4, 5, 6, 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], "starting_column": 1, "ending_column": 2}}, "signature": "addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)"}}}}], "description": "Variable IUniswapV2Router.addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256).amountADesired (contracts/interfaces/uniswap/IUniswapV2Router02.sol#18) is too similar to IUniswapV2Router.addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256).amountBDesired (contracts/interfaces/uniswap/IUniswapV2Router02.sol#19)\n", "markdown": "Variable [IUniswapV2Router.addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256).amountADesired](contracts/interfaces/uniswap/IUniswapV2Router02.sol#L18) is too similar to [IUniswapV2Router.addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256).amountBDesired](contracts/interfaces/uniswap/IUniswapV2Router02.sol#L19)\n", "first_markdown_element": "contracts/interfaces/uniswap/IUniswapV2Router02.sol#L18", "id": "ebfb97f25d979455759836fd8e6dfb5873e5f0066fe15708bfbea958a6c97d6c", "check": "similar-names", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "_deprecated_oeth", "source_mapping": {"start": 1691, "length": 32, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.sol", "is_dependency": false, "lines": [40], "starting_column": 5, "ending_column": 37}, "type_specific_fields": {"parent": {"type": "contract", "name": "ConvexEthMetaStrategy", "source_mapping": {"start": 769, "length": 22879, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622], "starting_column": 1, "ending_column": 2}}}}, {"type": "variable", "name": "_deprecated_weth", "source_mapping": {"start": 1779, "length": 32, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.sol", "is_dependency": false, "lines": [42], "starting_column": 5, "ending_column": 37}, "type_specific_fields": {"parent": {"type": "contract", "name": "ConvexEthMetaStrategy", "source_mapping": {"start": 769, "length": 22879, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622], "starting_column": 1, "ending_column": 2}}}}], "description": "Variable ConvexEthMetaStrategy._deprecated_oeth (contracts/strategies/ConvexEthMetaStrategy.sol#40) is too similar to ConvexEthMetaStrategy._deprecated_weth (contracts/strategies/ConvexEthMetaStrategy.sol#42)\n", "markdown": "Variable [ConvexEthMetaStrategy._deprecated_oeth](contracts/strategies/ConvexEthMetaStrategy.sol#L40) is too similar to [ConvexEthMetaStrategy._deprecated_weth](contracts/strategies/ConvexEthMetaStrategy.sol#L42)\n", "first_markdown_element": "contracts/strategies/ConvexEthMetaStrategy.sol#L40", "id": "5b6051eceb5b7aaf0e9cc0f0842f0f90d06cf9f7a22bf02559f4e9e2f3357a34", "check": "similar-names", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "_strategyAmount", "source_mapping": {"start": 6763, "length": 23, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [184], "starting_column": 9, "ending_column": 32}, "type_specific_fields": {"parent": {"type": "function", "name": "withdraw", "source_mapping": {"start": 6676, "length": 441, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BalancerMetaPoolStrategy", "source_mapping": {"start": 708, "length": 21715, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "withdraw(address,address,uint256)"}}}}, {"type": "variable", "name": "strategyAmounts", "source_mapping": {"start": 6904, "length": 51, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [187], "starting_column": 9, "ending_column": 60}, "type_specific_fields": {"parent": {"type": "function", "name": "withdraw", "source_mapping": {"start": 6676, "length": 441, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BalancerMetaPoolStrategy", "source_mapping": {"start": 708, "length": 21715, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "withdraw(address,address,uint256)"}}}}], "description": "Variable BalancerMetaPoolStrategy.withdraw(address,address,uint256)._strategyAmount (contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#184) is too similar to BalancerMetaPoolStrategy.withdraw(address,address,uint256).strategyAmounts (contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#187)\n", "markdown": "Variable [BalancerMetaPoolStrategy.withdraw(address,address,uint256)._strategyAmount](contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L184) is too similar to [BalancerMetaPoolStrategy.withdraw(address,address,uint256).strategyAmounts](contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L187)\n", "first_markdown_element": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L184", "id": "1aed6ded618c44ade473c821a6b9bf134ffc84045f4500d4abe47e6f4fa3b246", "check": "similar-names", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "_strategyAsset", "source_mapping": {"start": 6731, "length": 22, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [183], "starting_column": 9, "ending_column": 31}, "type_specific_fields": {"parent": {"type": "function", "name": "withdraw", "source_mapping": {"start": 6676, "length": 441, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BalancerMetaPoolStrategy", "source_mapping": {"start": 708, "length": 21715, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "withdraw(address,address,uint256)"}}}}, {"type": "variable", "name": "strategyAssets", "source_mapping": {"start": 6844, "length": 50, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [186], "starting_column": 9, "ending_column": 59}, "type_specific_fields": {"parent": {"type": "function", "name": "withdraw", "source_mapping": {"start": 6676, "length": 441, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BalancerMetaPoolStrategy", "source_mapping": {"start": 708, "length": 21715, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "withdraw(address,address,uint256)"}}}}], "description": "Variable BalancerMetaPoolStrategy.withdraw(address,address,uint256)._strategyAsset (contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#183) is too similar to BalancerMetaPoolStrategy.withdraw(address,address,uint256).strategyAssets (contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#186)\n", "markdown": "Variable [BalancerMetaPoolStrategy.withdraw(address,address,uint256)._strategyAsset](contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L183) is too similar to [BalancerMetaPoolStrategy.withdraw(address,address,uint256).strategyAssets](contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L186)\n", "first_markdown_element": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L183", "id": "66361a04820f0b284c38b75c42ab3a0d624fca7ff422827061628fe33a32284a", "check": "similar-names", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "_strategyAmount", "source_mapping": {"start": 6763, "length": 23, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [184], "starting_column": 9, "ending_column": 32}, "type_specific_fields": {"parent": {"type": "function", "name": "withdraw", "source_mapping": {"start": 6676, "length": 441, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BalancerMetaPoolStrategy", "source_mapping": {"start": 708, "length": 21715, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "withdraw(address,address,uint256)"}}}}, {"type": "variable", "name": "strategyAmounts", "source_mapping": {"start": 2151, "length": 62, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [63], "starting_column": 9, "ending_column": 71}, "type_specific_fields": {"parent": {"type": "function", "name": "depositAll", "source_mapping": {"start": 1955, "length": 650, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BalancerMetaPoolStrategy", "source_mapping": {"start": 708, "length": 21715, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "depositAll()"}}}}], "description": "Variable BalancerMetaPoolStrategy.withdraw(address,address,uint256)._strategyAmount (contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#184) is too similar to BalancerMetaPoolStrategy.depositAll().strategyAmounts (contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#63)\n", "markdown": "Variable [BalancerMetaPoolStrategy.withdraw(address,address,uint256)._strategyAmount](contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L184) is too similar to [BalancerMetaPoolStrategy.depositAll().strategyAmounts](contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L63)\n", "first_markdown_element": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L184", "id": "a7546e7a5e19fa58d409f225c94fc62708482c38af8128c515f32d6ba8df35fe", "check": "similar-names", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "_strategyAsset", "source_mapping": {"start": 6731, "length": 22, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [183], "starting_column": 9, "ending_column": 31}, "type_specific_fields": {"parent": {"type": "function", "name": "withdraw", "source_mapping": {"start": 6676, "length": 441, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BalancerMetaPoolStrategy", "source_mapping": {"start": 708, "length": 21715, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "withdraw(address,address,uint256)"}}}}, {"type": "variable", "name": "strategyAssets", "source_mapping": {"start": 2080, "length": 61, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [62], "starting_column": 9, "ending_column": 70}, "type_specific_fields": {"parent": {"type": "function", "name": "depositAll", "source_mapping": {"start": 1955, "length": 650, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BalancerMetaPoolStrategy", "source_mapping": {"start": 708, "length": 21715, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "depositAll()"}}}}], "description": "Variable BalancerMetaPoolStrategy.withdraw(address,address,uint256)._strategyAsset (contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#183) is too similar to BalancerMetaPoolStrategy.depositAll().strategyAssets (contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#62)\n", "markdown": "Variable [BalancerMetaPoolStrategy.withdraw(address,address,uint256)._strategyAsset](contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L183) is too similar to [BalancerMetaPoolStrategy.depositAll().strategyAssets](contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L62)\n", "first_markdown_element": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L183", "id": "8d413dbcd056feff7dc7e0cdab6461754f794759a0763231778a50085c6d7beb", "check": "similar-names", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "_minToAssetAmount", "source_mapping": {"start": 2032, "length": 25, "filename_relative": "contracts/swapper/Swapper1InchV5.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/swapper/Swapper1InchV5.sol", "filename_short": "contracts/swapper/Swapper1InchV5.sol", "is_dependency": false, "lines": [44], "starting_column": 9, "ending_column": 34}, "type_specific_fields": {"parent": {"type": "function", "name": "swap", "source_mapping": {"start": 1921, "length": 2324, "filename_relative": "contracts/swapper/Swapper1InchV5.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/swapper/Swapper1InchV5.sol", "filename_short": "contracts/swapper/Swapper1InchV5.sol", "is_dependency": false, "lines": [40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Swapper1InchV5", "source_mapping": {"start": 756, "length": 3993, "filename_relative": "contracts/swapper/Swapper1InchV5.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/swapper/Swapper1InchV5.sol", "filename_short": "contracts/swapper/Swapper1InchV5.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, 99, 100, 101, 102, 103, 104, 105, 106, 107], "starting_column": 1, "ending_column": 2}}, "signature": "swap(address,address,uint256,uint256,bytes)"}}}}, {"type": "variable", "name": "minToAssetAmmount", "source_mapping": {"start": 518, "length": 25, "filename_relative": "contracts/interfaces/ISwapper.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/ISwapper.sol", "filename_short": "contracts/interfaces/ISwapper.sol", "is_dependency": false, "lines": [15], "starting_column": 9, "ending_column": 34}, "type_specific_fields": {"parent": {"type": "function", "name": "swap", "source_mapping": {"start": 410, "length": 210, "filename_relative": "contracts/interfaces/ISwapper.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/ISwapper.sol", "filename_short": "contracts/interfaces/ISwapper.sol", "is_dependency": false, "lines": [11, 12, 13, 14, 15, 16, 17], "starting_column": 5, "ending_column": 48}, "type_specific_fields": {"parent": {"type": "contract", "name": "ISwapper", "source_mapping": {"start": 25, "length": 597, "filename_relative": "contracts/interfaces/ISwapper.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/ISwapper.sol", "filename_short": "contracts/interfaces/ISwapper.sol", "is_dependency": false, "lines": [3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18], "starting_column": 1, "ending_column": 2}}, "signature": "swap(address,address,uint256,uint256,bytes)"}}}}], "description": "Variable Swapper1InchV5.swap(address,address,uint256,uint256,bytes)._minToAssetAmount (contracts/swapper/Swapper1InchV5.sol#44) is too similar to ISwapper.swap(address,address,uint256,uint256,bytes).minToAssetAmmount (contracts/interfaces/ISwapper.sol#15)\n", "markdown": "Variable [Swapper1InchV5.swap(address,address,uint256,uint256,bytes)._minToAssetAmount](contracts/swapper/Swapper1InchV5.sol#L44) is too similar to [ISwapper.swap(address,address,uint256,uint256,bytes).minToAssetAmmount](contracts/interfaces/ISwapper.sol#L15)\n", "first_markdown_element": "contracts/swapper/Swapper1InchV5.sol#L44", "id": "eae2949d0e59530d2f242dae886ff3fea97e94f94d3823b068602062a05a241e", "check": "similar-names", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "MAX_SWAP_FEE_PERCENTAGE", "source_mapping": {"start": 6203, "length": 55, "filename_relative": "contracts/utils/BalancerErrors.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/utils/BalancerErrors.sol", "filename_short": "contracts/utils/BalancerErrors.sol", "is_dependency": false, "lines": [143], "starting_column": 5, "ending_column": 60}, "type_specific_fields": {"parent": {"type": "contract", "name": "Errors", "source_mapping": {"start": 5220, "length": 10023, "filename_relative": "contracts/utils/BalancerErrors.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/utils/BalancerErrors.sol", "filename_short": "contracts/utils/BalancerErrors.sol", "is_dependency": false, "lines": [119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305], "starting_column": 1, "ending_column": 2}}}}, {"type": "variable", "name": "MIN_SWAP_FEE_PERCENTAGE", "source_mapping": {"start": 6264, "length": 55, "filename_relative": "contracts/utils/BalancerErrors.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/utils/BalancerErrors.sol", "filename_short": "contracts/utils/BalancerErrors.sol", "is_dependency": false, "lines": [144], "starting_column": 5, "ending_column": 60}, "type_specific_fields": {"parent": {"type": "contract", "name": "Errors", "source_mapping": {"start": 5220, "length": 10023, "filename_relative": "contracts/utils/BalancerErrors.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/utils/BalancerErrors.sol", "filename_short": "contracts/utils/BalancerErrors.sol", "is_dependency": false, "lines": [119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305], "starting_column": 1, "ending_column": 2}}}}], "description": "Variable Errors.MAX_SWAP_FEE_PERCENTAGE (contracts/utils/BalancerErrors.sol#143) is too similar to Errors.MIN_SWAP_FEE_PERCENTAGE (contracts/utils/BalancerErrors.sol#144)\n", "markdown": "Variable [Errors.MAX_SWAP_FEE_PERCENTAGE](contracts/utils/BalancerErrors.sol#L143) is too similar to [Errors.MIN_SWAP_FEE_PERCENTAGE](contracts/utils/BalancerErrors.sol#L144)\n", "first_markdown_element": "contracts/utils/BalancerErrors.sol#L143", "id": "1945ab1040eae7c5129c9ca51251cc5945d27f9feeef4fe3fa3ba6ace5018424", "check": "similar-names", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "SAFE_CAST_VALUE_CANT_FIT_INT256", "source_mapping": {"start": 11645, "length": 63, "filename_relative": "contracts/utils/BalancerErrors.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/utils/BalancerErrors.sol", "filename_short": "contracts/utils/BalancerErrors.sol", "is_dependency": false, "lines": [237], "starting_column": 5, "ending_column": 68}, "type_specific_fields": {"parent": {"type": "contract", "name": "Errors", "source_mapping": {"start": 5220, "length": 10023, "filename_relative": "contracts/utils/BalancerErrors.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/utils/BalancerErrors.sol", "filename_short": "contracts/utils/BalancerErrors.sol", "is_dependency": false, "lines": [119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305], "starting_column": 1, "ending_column": 2}}}}, {"type": "variable", "name": "SAFE_CAST_VALUE_CANT_FIT_UINT64", "source_mapping": {"start": 12870, "length": 63, "filename_relative": "contracts/utils/BalancerErrors.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/utils/BalancerErrors.sol", "filename_short": "contracts/utils/BalancerErrors.sol", "is_dependency": false, "lines": [258], "starting_column": 5, "ending_column": 68}, "type_specific_fields": {"parent": {"type": "contract", "name": "Errors", "source_mapping": {"start": 5220, "length": 10023, "filename_relative": "contracts/utils/BalancerErrors.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/utils/BalancerErrors.sol", "filename_short": "contracts/utils/BalancerErrors.sol", "is_dependency": false, "lines": [119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305], "starting_column": 1, "ending_column": 2}}}}], "description": "Variable Errors.SAFE_CAST_VALUE_CANT_FIT_INT256 (contracts/utils/BalancerErrors.sol#237) is too similar to Errors.SAFE_CAST_VALUE_CANT_FIT_UINT64 (contracts/utils/BalancerErrors.sol#258)\n", "markdown": "Variable [Errors.SAFE_CAST_VALUE_CANT_FIT_INT256](contracts/utils/BalancerErrors.sol#L237) is too similar to [Errors.SAFE_CAST_VALUE_CANT_FIT_UINT64](contracts/utils/BalancerErrors.sol#L258)\n", "first_markdown_element": "contracts/utils/BalancerErrors.sol#L237", "id": "88ac8f4e5576fb97b495077a9436555edd1c567779549108bc61db44fa8fbc76", "check": "similar-names", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "X_OUT_OF_BOUNDS", "source_mapping": {"start": 5543, "length": 45, "filename_relative": "contracts/utils/BalancerErrors.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/utils/BalancerErrors.sol", "filename_short": "contracts/utils/BalancerErrors.sol", "is_dependency": false, "lines": [127], "starting_column": 5, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "contract", "name": "Errors", "source_mapping": {"start": 5220, "length": 10023, "filename_relative": "contracts/utils/BalancerErrors.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/utils/BalancerErrors.sol", "filename_short": "contracts/utils/BalancerErrors.sol", "is_dependency": false, "lines": [119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305], "starting_column": 1, "ending_column": 2}}}}, {"type": "variable", "name": "Y_OUT_OF_BOUNDS", "source_mapping": {"start": 5594, "length": 45, "filename_relative": "contracts/utils/BalancerErrors.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/utils/BalancerErrors.sol", "filename_short": "contracts/utils/BalancerErrors.sol", "is_dependency": false, "lines": [128], "starting_column": 5, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "contract", "name": "Errors", "source_mapping": {"start": 5220, "length": 10023, "filename_relative": "contracts/utils/BalancerErrors.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/utils/BalancerErrors.sol", "filename_short": "contracts/utils/BalancerErrors.sol", "is_dependency": false, "lines": [119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305], "starting_column": 1, "ending_column": 2}}}}], "description": "Variable Errors.X_OUT_OF_BOUNDS (contracts/utils/BalancerErrors.sol#127) is too similar to Errors.Y_OUT_OF_BOUNDS (contracts/utils/BalancerErrors.sol#128)\n", "markdown": "Variable [Errors.X_OUT_OF_BOUNDS](contracts/utils/BalancerErrors.sol#L127) is too similar to [Errors.Y_OUT_OF_BOUNDS](contracts/utils/BalancerErrors.sol#L128)\n", "first_markdown_element": "contracts/utils/BalancerErrors.sol#L127", "id": "f712601ceb4ec174a5c45eca90ac3878faf40c5dc35b8bac76ab1386bc61f748", "check": "similar-names", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "_deprecated_cvxDepositorAddress", "source_mapping": {"start": 1201, "length": 47, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.sol", "is_dependency": false, "lines": [30], "starting_column": 5, "ending_column": 52}, "type_specific_fields": {"parent": {"type": "contract", "name": "ConvexEthMetaStrategy", "source_mapping": {"start": 769, "length": 22879, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622], "starting_column": 1, "ending_column": 2}}}}, {"type": "contract", "name": "ConvexEthMetaStrategy", "source_mapping": {"start": 769, "length": 22879, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622], "starting_column": 1, "ending_column": 2}}], "description": "ConvexEthMetaStrategy._deprecated_cvxDepositorAddress (contracts/strategies/ConvexEthMetaStrategy.sol#30) is never used in ConvexEthMetaStrategy (contracts/strategies/ConvexEthMetaStrategy.sol#20-622)\n", "markdown": "[ConvexEthMetaStrategy._deprecated_cvxDepositorAddress](contracts/strategies/ConvexEthMetaStrategy.sol#L30) is never used in [ConvexEthMetaStrategy](contracts/strategies/ConvexEthMetaStrategy.sol#L20-L622)\n", "first_markdown_element": "contracts/strategies/ConvexEthMetaStrategy.sol#L30", "id": "0327ed03b6138255e7d3ed2dec91360718b9225fdec894e5e2565e2b9dedbd97", "check": "unused-state", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "_deprecated_cvxRewardStaker", "source_mapping": {"start": 1304, "length": 43, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.sol", "is_dependency": false, "lines": [32], "starting_column": 5, "ending_column": 48}, "type_specific_fields": {"parent": {"type": "contract", "name": "ConvexEthMetaStrategy", "source_mapping": {"start": 769, "length": 22879, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622], "starting_column": 1, "ending_column": 2}}}}, {"type": "contract", "name": "ConvexEthMetaStrategy", "source_mapping": {"start": 769, "length": 22879, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622], "starting_column": 1, "ending_column": 2}}], "description": "ConvexEthMetaStrategy._deprecated_cvxRewardStaker (contracts/strategies/ConvexEthMetaStrategy.sol#32) is never used in ConvexEthMetaStrategy (contracts/strategies/ConvexEthMetaStrategy.sol#20-622)\n", "markdown": "[ConvexEthMetaStrategy._deprecated_cvxRewardStaker](contracts/strategies/ConvexEthMetaStrategy.sol#L32) is never used in [ConvexEthMetaStrategy](contracts/strategies/ConvexEthMetaStrategy.sol#L20-L622)\n", "first_markdown_element": "contracts/strategies/ConvexEthMetaStrategy.sol#L32", "id": "30cc5ee3de309a7891c1e195b89e0be4c974dabc6853688a419fd61fe368b561", "check": "unused-state", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "_deprecated_cvxDepositorPTokenId", "source_mapping": {"start": 1403, "length": 48, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.sol", "is_dependency": false, "lines": [34], "starting_column": 5, "ending_column": 53}, "type_specific_fields": {"parent": {"type": "contract", "name": "ConvexEthMetaStrategy", "source_mapping": {"start": 769, "length": 22879, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622], "starting_column": 1, "ending_column": 2}}}}, {"type": "contract", "name": "ConvexEthMetaStrategy", "source_mapping": {"start": 769, "length": 22879, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622], "starting_column": 1, "ending_column": 2}}], "description": "ConvexEthMetaStrategy._deprecated_cvxDepositorPTokenId (contracts/strategies/ConvexEthMetaStrategy.sol#34) is never used in ConvexEthMetaStrategy (contracts/strategies/ConvexEthMetaStrategy.sol#20-622)\n", "markdown": "[ConvexEthMetaStrategy._deprecated_cvxDepositorPTokenId](contracts/strategies/ConvexEthMetaStrategy.sol#L34) is never used in [ConvexEthMetaStrategy](contracts/strategies/ConvexEthMetaStrategy.sol#L20-L622)\n", "first_markdown_element": "contracts/strategies/ConvexEthMetaStrategy.sol#L34", "id": "0c159fca431d4d02642f66812fd31a3a4f1ca96f1d99b70af66c53e29b40adb6", "check": "unused-state", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "_deprecated_curvePool", "source_mapping": {"start": 1507, "length": 37, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.sol", "is_dependency": false, "lines": [36], "starting_column": 5, "ending_column": 42}, "type_specific_fields": {"parent": {"type": "contract", "name": "ConvexEthMetaStrategy", "source_mapping": {"start": 769, "length": 22879, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622], "starting_column": 1, "ending_column": 2}}}}, {"type": "contract", "name": "ConvexEthMetaStrategy", "source_mapping": {"start": 769, "length": 22879, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622], "starting_column": 1, "ending_column": 2}}], "description": "ConvexEthMetaStrategy._deprecated_curvePool (contracts/strategies/ConvexEthMetaStrategy.sol#36) is never used in ConvexEthMetaStrategy (contracts/strategies/ConvexEthMetaStrategy.sol#20-622)\n", "markdown": "[ConvexEthMetaStrategy._deprecated_curvePool](contracts/strategies/ConvexEthMetaStrategy.sol#L36) is never used in [ConvexEthMetaStrategy](contracts/strategies/ConvexEthMetaStrategy.sol#L20-L622)\n", "first_markdown_element": "contracts/strategies/ConvexEthMetaStrategy.sol#L36", "id": "a3c3fabcdade68568928e21ca48dbc4d59ea977485e567e43b5d5eed1a7dc704", "check": "unused-state", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "_deprecated_lpToken", "source_mapping": {"start": 1600, "length": 35, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.sol", "is_dependency": false, "lines": [38], "starting_column": 5, "ending_column": 40}, "type_specific_fields": {"parent": {"type": "contract", "name": "ConvexEthMetaStrategy", "source_mapping": {"start": 769, "length": 22879, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622], "starting_column": 1, "ending_column": 2}}}}, {"type": "contract", "name": "ConvexEthMetaStrategy", "source_mapping": {"start": 769, "length": 22879, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622], "starting_column": 1, "ending_column": 2}}], "description": "ConvexEthMetaStrategy._deprecated_lpToken (contracts/strategies/ConvexEthMetaStrategy.sol#38) is never used in ConvexEthMetaStrategy (contracts/strategies/ConvexEthMetaStrategy.sol#20-622)\n", "markdown": "[ConvexEthMetaStrategy._deprecated_lpToken](contracts/strategies/ConvexEthMetaStrategy.sol#L38) is never used in [ConvexEthMetaStrategy](contracts/strategies/ConvexEthMetaStrategy.sol#L20-L622)\n", "first_markdown_element": "contracts/strategies/ConvexEthMetaStrategy.sol#L38", "id": "39e2a5642a5a27d124c6d45161ab1443b9dd5cd4895ed05e9e4802b61e11ea7d", "check": "unused-state", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "_deprecated_oeth", "source_mapping": {"start": 1691, "length": 32, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.sol", "is_dependency": false, "lines": [40], "starting_column": 5, "ending_column": 37}, "type_specific_fields": {"parent": {"type": "contract", "name": "ConvexEthMetaStrategy", "source_mapping": {"start": 769, "length": 22879, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622], "starting_column": 1, "ending_column": 2}}}}, {"type": "contract", "name": "ConvexEthMetaStrategy", "source_mapping": {"start": 769, "length": 22879, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622], "starting_column": 1, "ending_column": 2}}], "description": "ConvexEthMetaStrategy._deprecated_oeth (contracts/strategies/ConvexEthMetaStrategy.sol#40) is never used in ConvexEthMetaStrategy (contracts/strategies/ConvexEthMetaStrategy.sol#20-622)\n", "markdown": "[ConvexEthMetaStrategy._deprecated_oeth](contracts/strategies/ConvexEthMetaStrategy.sol#L40) is never used in [ConvexEthMetaStrategy](contracts/strategies/ConvexEthMetaStrategy.sol#L20-L622)\n", "first_markdown_element": "contracts/strategies/ConvexEthMetaStrategy.sol#L40", "id": "946c8098661a7ea28eaebc3ab1f95fc3943e3cb7ae3fb7136c2aec3a2d8122b6", "check": "unused-state", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "_deprecated_weth", "source_mapping": {"start": 1779, "length": 32, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.sol", "is_dependency": false, "lines": [42], "starting_column": 5, "ending_column": 37}, "type_specific_fields": {"parent": {"type": "contract", "name": "ConvexEthMetaStrategy", "source_mapping": {"start": 769, "length": 22879, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622], "starting_column": 1, "ending_column": 2}}}}, {"type": "contract", "name": "ConvexEthMetaStrategy", "source_mapping": {"start": 769, "length": 22879, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622], "starting_column": 1, "ending_column": 2}}], "description": "ConvexEthMetaStrategy._deprecated_weth (contracts/strategies/ConvexEthMetaStrategy.sol#42) is never used in ConvexEthMetaStrategy (contracts/strategies/ConvexEthMetaStrategy.sol#20-622)\n", "markdown": "[ConvexEthMetaStrategy._deprecated_weth](contracts/strategies/ConvexEthMetaStrategy.sol#L42) is never used in [ConvexEthMetaStrategy](contracts/strategies/ConvexEthMetaStrategy.sol#L20-L622)\n", "first_markdown_element": "contracts/strategies/ConvexEthMetaStrategy.sol#L42", "id": "40728e6263aa0c4e1c42152dbe790c492f8d3f371e7899ae56f366d06cff33c7", "check": "unused-state", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "_deprecated_oethCoinIndex", "source_mapping": {"start": 1903, "length": 41, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.sol", "is_dependency": false, "lines": [46], "starting_column": 5, "ending_column": 46}, "type_specific_fields": {"parent": {"type": "contract", "name": "ConvexEthMetaStrategy", "source_mapping": {"start": 769, "length": 22879, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622], "starting_column": 1, "ending_column": 2}}}}, {"type": "contract", "name": "ConvexEthMetaStrategy", "source_mapping": {"start": 769, "length": 22879, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622], "starting_column": 1, "ending_column": 2}}], "description": "ConvexEthMetaStrategy._deprecated_oethCoinIndex (contracts/strategies/ConvexEthMetaStrategy.sol#46) is never used in ConvexEthMetaStrategy (contracts/strategies/ConvexEthMetaStrategy.sol#20-622)\n", "markdown": "[ConvexEthMetaStrategy._deprecated_oethCoinIndex](contracts/strategies/ConvexEthMetaStrategy.sol#L46) is never used in [ConvexEthMetaStrategy](contracts/strategies/ConvexEthMetaStrategy.sol#L20-L622)\n", "first_markdown_element": "contracts/strategies/ConvexEthMetaStrategy.sol#L46", "id": "c73b3d49a3ad1c2a19c81105bed96c8756ef324b24a165b13b1dfe5c2ca4917d", "check": "unused-state", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "_deprecated_ethCoinIndex", "source_mapping": {"start": 2000, "length": 40, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.sol", "is_dependency": false, "lines": [48], "starting_column": 5, "ending_column": 45}, "type_specific_fields": {"parent": {"type": "contract", "name": "ConvexEthMetaStrategy", "source_mapping": {"start": 769, "length": 22879, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622], "starting_column": 1, "ending_column": 2}}}}, {"type": "contract", "name": "ConvexEthMetaStrategy", "source_mapping": {"start": 769, "length": 22879, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622], "starting_column": 1, "ending_column": 2}}], "description": "ConvexEthMetaStrategy._deprecated_ethCoinIndex (contracts/strategies/ConvexEthMetaStrategy.sol#48) is never used in ConvexEthMetaStrategy (contracts/strategies/ConvexEthMetaStrategy.sol#20-622)\n", "markdown": "[ConvexEthMetaStrategy._deprecated_ethCoinIndex](contracts/strategies/ConvexEthMetaStrategy.sol#L48) is never used in [ConvexEthMetaStrategy](contracts/strategies/ConvexEthMetaStrategy.sol#L20-L622)\n", "first_markdown_element": "contracts/strategies/ConvexEthMetaStrategy.sol#L48", "id": "116e62b88711a6bb923cb4eef4fbea98c9c7ddd45bc201a6f569d6f9b150fe60", "check": "unused-state", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "THREEPOOL_ASSET_COUNT", "source_mapping": {"start": 814, "length": 51, "filename_relative": "contracts/strategies/BaseCurveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/BaseCurveStrategy.sol", "filename_short": "contracts/strategies/BaseCurveStrategy.sol", "is_dependency": false, "lines": [22], "starting_column": 5, "ending_column": 56}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseCurveStrategy", "source_mapping": {"start": 536, "length": 11069, "filename_relative": "contracts/strategies/BaseCurveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/BaseCurveStrategy.sol", "filename_short": "contracts/strategies/BaseCurveStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307], "starting_column": 1, "ending_column": 2}}}}, {"type": "contract", "name": "ConvexStrategy", "source_mapping": {"start": 918, "length": 5358, "filename_relative": "contracts/strategies/ConvexStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexStrategy.sol", "filename_short": "contracts/strategies/ConvexStrategy.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165], "starting_column": 1, "ending_column": 2}}], "description": "BaseCurveStrategy.THREEPOOL_ASSET_COUNT (contracts/strategies/BaseCurveStrategy.sol#22) is never used in ConvexStrategy (contracts/strategies/ConvexStrategy.sol#25-165)\n", "markdown": "[BaseCurveStrategy.THREEPOOL_ASSET_COUNT](contracts/strategies/BaseCurveStrategy.sol#L22) is never used in [ConvexStrategy](contracts/strategies/ConvexStrategy.sol#L25-L165)\n", "first_markdown_element": "contracts/strategies/BaseCurveStrategy.sol#L22", "id": "6c2bd4b15055d852aa12dfd95a8d1740df4b29e0b198ce384c4d685dbc2205d4", "check": "unused-state", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "_deprecated_cvxRewardTokenAddress", "source_mapping": {"start": 1173, "length": 49, "filename_relative": "contracts/strategies/ConvexStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexStrategy.sol", "filename_short": "contracts/strategies/ConvexStrategy.sol", "is_dependency": false, "lines": [32], "starting_column": 5, "ending_column": 54}, "type_specific_fields": {"parent": {"type": "contract", "name": "ConvexStrategy", "source_mapping": {"start": 918, "length": 5358, "filename_relative": "contracts/strategies/ConvexStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexStrategy.sol", "filename_short": "contracts/strategies/ConvexStrategy.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165], "starting_column": 1, "ending_column": 2}}}}, {"type": "contract", "name": "ConvexStrategy", "source_mapping": {"start": 918, "length": 5358, "filename_relative": "contracts/strategies/ConvexStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexStrategy.sol", "filename_short": "contracts/strategies/ConvexStrategy.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165], "starting_column": 1, "ending_column": 2}}], "description": "ConvexStrategy._deprecated_cvxRewardTokenAddress (contracts/strategies/ConvexStrategy.sol#32) is never used in ConvexStrategy (contracts/strategies/ConvexStrategy.sol#25-165)\n", "markdown": "[ConvexStrategy._deprecated_cvxRewardTokenAddress](contracts/strategies/ConvexStrategy.sol#L32) is never used in [ConvexStrategy](contracts/strategies/ConvexStrategy.sol#L25-L165)\n", "first_markdown_element": "contracts/strategies/ConvexStrategy.sol#L32", "id": "583ffe934d527c68c0da4bbaa6770a227f6b95cf94f97d7d26275d10736106c2", "check": "unused-state", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "THREEPOOL_ASSET_COUNT", "source_mapping": {"start": 814, "length": 51, "filename_relative": "contracts/strategies/BaseCurveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/BaseCurveStrategy.sol", "filename_short": "contracts/strategies/BaseCurveStrategy.sol", "is_dependency": false, "lines": [22], "starting_column": 5, "ending_column": 56}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseCurveStrategy", "source_mapping": {"start": 536, "length": 11069, "filename_relative": "contracts/strategies/BaseCurveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/BaseCurveStrategy.sol", "filename_short": "contracts/strategies/BaseCurveStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307], "starting_column": 1, "ending_column": 2}}}}, {"type": "contract", "name": "ThreePoolStrategy", "source_mapping": {"start": 907, "length": 4607, "filename_relative": "contracts/strategies/ThreePoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ThreePoolStrategy.sol", "filename_short": "contracts/strategies/ThreePoolStrategy.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147], "starting_column": 1, "ending_column": 2}}], "description": "BaseCurveStrategy.THREEPOOL_ASSET_COUNT (contracts/strategies/BaseCurveStrategy.sol#22) is never used in ThreePoolStrategy (contracts/strategies/ThreePoolStrategy.sol#25-147)\n", "markdown": "[BaseCurveStrategy.THREEPOOL_ASSET_COUNT](contracts/strategies/BaseCurveStrategy.sol#L22) is never used in [ThreePoolStrategy](contracts/strategies/ThreePoolStrategy.sol#L25-L147)\n", "first_markdown_element": "contracts/strategies/BaseCurveStrategy.sol#L22", "id": "8fcb03501694d5d1c66767faeed19b98cf845ca0db7f3b4272ddf86d1285c47d", "check": "unused-state", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "MINT_MINIMUM_UNIT_PRICE", "source_mapping": {"start": 5582, "length": 51, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [138], "starting_column": 5, "ending_column": 56}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 695, "length": 6457, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178], "starting_column": 1, "ending_column": 2}}}}, {"type": "contract", "name": "OETHVault", "source_mapping": {"start": 164, "length": 32, "filename_relative": "contracts/vault/OETHVault.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHVault.sol", "filename_short": "contracts/vault/OETHVault.sol", "is_dependency": false, "lines": [10, 11, 12], "starting_column": 1, "ending_column": 2}}], "description": "VaultStorage.MINT_MINIMUM_UNIT_PRICE (contracts/vault/VaultStorage.sol#138) is never used in OETHVault (contracts/vault/OETHVault.sol#10-12)\n", "markdown": "[VaultStorage.MINT_MINIMUM_UNIT_PRICE](contracts/vault/VaultStorage.sol#L138) is never used in [OETHVault](contracts/vault/OETHVault.sol#L10-L12)\n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L138", "id": "149a5dd32dc4281e6676bc6235d5b98438630b9dd44b947183da6f2539763ef9", "check": "unused-state", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "MIN_UNIT_PRICE_DRIFT", "source_mapping": {"start": 6052, "length": 46, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [149], "starting_column": 5, "ending_column": 51}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 695, "length": 6457, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178], "starting_column": 1, "ending_column": 2}}}}, {"type": "contract", "name": "OETHVault", "source_mapping": {"start": 164, "length": 32, "filename_relative": "contracts/vault/OETHVault.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHVault.sol", "filename_short": "contracts/vault/OETHVault.sol", "is_dependency": false, "lines": [10, 11, 12], "starting_column": 1, "ending_column": 2}}], "description": "VaultStorage.MIN_UNIT_PRICE_DRIFT (contracts/vault/VaultStorage.sol#149) is never used in OETHVault (contracts/vault/OETHVault.sol#10-12)\n", "markdown": "[VaultStorage.MIN_UNIT_PRICE_DRIFT](contracts/vault/VaultStorage.sol#L149) is never used in [OETHVault](contracts/vault/OETHVault.sol#L10-L12)\n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L149", "id": "7f19bc3e2fb9a9561aee099dc073232975619a6c5032b3a61c1645bf58315f67", "check": "unused-state", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "MAX_UNIT_PRICE_DRIFT", "source_mapping": {"start": 6104, "length": 46, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [150], "starting_column": 5, "ending_column": 51}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 695, "length": 6457, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178], "starting_column": 1, "ending_column": 2}}}}, {"type": "contract", "name": "OETHVault", "source_mapping": {"start": 164, "length": 32, "filename_relative": "contracts/vault/OETHVault.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHVault.sol", "filename_short": "contracts/vault/OETHVault.sol", "is_dependency": false, "lines": [10, 11, 12], "starting_column": 1, "ending_column": 2}}], "description": "VaultStorage.MAX_UNIT_PRICE_DRIFT (contracts/vault/VaultStorage.sol#150) is never used in OETHVault (contracts/vault/OETHVault.sol#10-12)\n", "markdown": "[VaultStorage.MAX_UNIT_PRICE_DRIFT](contracts/vault/VaultStorage.sol#L150) is never used in [OETHVault](contracts/vault/OETHVault.sol#L10-L12)\n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L150", "id": "e5390a7816c93ca32a85f9b57349d42579c55c04a3a4ef2b4769d2575a1905bb", "check": "unused-state", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "MINT_MINIMUM_UNIT_PRICE", "source_mapping": {"start": 5582, "length": 51, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [138], "starting_column": 5, "ending_column": 56}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 695, "length": 6457, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178], "starting_column": 1, "ending_column": 2}}}}, {"type": "contract", "name": "OETHVaultAdmin", "source_mapping": {"start": 179, "length": 42, "filename_relative": "contracts/vault/OETHVaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHVaultAdmin.sol", "filename_short": "contracts/vault/OETHVaultAdmin.sol", "is_dependency": false, "lines": [10, 11, 12], "starting_column": 1, "ending_column": 2}}], "description": "VaultStorage.MINT_MINIMUM_UNIT_PRICE (contracts/vault/VaultStorage.sol#138) is never used in OETHVaultAdmin (contracts/vault/OETHVaultAdmin.sol#10-12)\n", "markdown": "[VaultStorage.MINT_MINIMUM_UNIT_PRICE](contracts/vault/VaultStorage.sol#L138) is never used in [OETHVaultAdmin](contracts/vault/OETHVaultAdmin.sol#L10-L12)\n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L138", "id": "bbab6f2a0b738f60095768009071f55614b28ba6b6e5e6a71f67f94ee08c8e4d", "check": "unused-state", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "MIN_UNIT_PRICE_DRIFT", "source_mapping": {"start": 6052, "length": 46, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [149], "starting_column": 5, "ending_column": 51}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 695, "length": 6457, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178], "starting_column": 1, "ending_column": 2}}}}, {"type": "contract", "name": "OETHVaultAdmin", "source_mapping": {"start": 179, "length": 42, "filename_relative": "contracts/vault/OETHVaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHVaultAdmin.sol", "filename_short": "contracts/vault/OETHVaultAdmin.sol", "is_dependency": false, "lines": [10, 11, 12], "starting_column": 1, "ending_column": 2}}], "description": "VaultStorage.MIN_UNIT_PRICE_DRIFT (contracts/vault/VaultStorage.sol#149) is never used in OETHVaultAdmin (contracts/vault/OETHVaultAdmin.sol#10-12)\n", "markdown": "[VaultStorage.MIN_UNIT_PRICE_DRIFT](contracts/vault/VaultStorage.sol#L149) is never used in [OETHVaultAdmin](contracts/vault/OETHVaultAdmin.sol#L10-L12)\n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L149", "id": "94393d439aab1bc281bb45a54cf564b95035d6a7bd2911a0c2ab82805660cbdc", "check": "unused-state", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "MAX_UNIT_PRICE_DRIFT", "source_mapping": {"start": 6104, "length": 46, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [150], "starting_column": 5, "ending_column": 51}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 695, "length": 6457, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178], "starting_column": 1, "ending_column": 2}}}}, {"type": "contract", "name": "OETHVaultAdmin", "source_mapping": {"start": 179, "length": 42, "filename_relative": "contracts/vault/OETHVaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHVaultAdmin.sol", "filename_short": "contracts/vault/OETHVaultAdmin.sol", "is_dependency": false, "lines": [10, 11, 12], "starting_column": 1, "ending_column": 2}}], "description": "VaultStorage.MAX_UNIT_PRICE_DRIFT (contracts/vault/VaultStorage.sol#150) is never used in OETHVaultAdmin (contracts/vault/OETHVaultAdmin.sol#10-12)\n", "markdown": "[VaultStorage.MAX_UNIT_PRICE_DRIFT](contracts/vault/VaultStorage.sol#L150) is never used in [OETHVaultAdmin](contracts/vault/OETHVaultAdmin.sol#L10-L12)\n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L150", "id": "0c56f807a05d376afb6eb2e3300f124c71164a80c1bb85eb40f65da6f9f8a1d2", "check": "unused-state", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "strategies", "source_mapping": {"start": 3271, "length": 48, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [83], "starting_column": 5, "ending_column": 53}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 695, "length": 6457, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178], "starting_column": 1, "ending_column": 2}}}}, {"type": "contract", "name": "OETHVaultCore", "source_mapping": {"start": 176, "length": 40, "filename_relative": "contracts/vault/OETHVaultCore.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHVaultCore.sol", "filename_short": "contracts/vault/OETHVaultCore.sol", "is_dependency": false, "lines": [10, 11, 12], "starting_column": 1, "ending_column": 2}}], "description": "VaultStorage.strategies (contracts/vault/VaultStorage.sol#83) is never used in OETHVaultCore (contracts/vault/OETHVaultCore.sol#10-12)\n", "markdown": "[VaultStorage.strategies](contracts/vault/VaultStorage.sol#L83) is never used in [OETHVaultCore](contracts/vault/OETHVaultCore.sol#L10-L12)\n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L83", "id": "e1cb59e398429820cba9c8fa98f9b6f9bb5766b0248f0efc2355d8a1028187de", "check": "unused-state", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "swapConfig", "source_mapping": {"start": 6552, "length": 58, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [161], "starting_column": 5, "ending_column": 63}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 695, "length": 6457, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178], "starting_column": 1, "ending_column": 2}}}}, {"type": "contract", "name": "OETHVaultCore", "source_mapping": {"start": 176, "length": 40, "filename_relative": "contracts/vault/OETHVaultCore.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHVaultCore.sol", "filename_short": "contracts/vault/OETHVaultCore.sol", "is_dependency": false, "lines": [10, 11, 12], "starting_column": 1, "ending_column": 2}}], "description": "VaultStorage.swapConfig (contracts/vault/VaultStorage.sol#161) is never used in OETHVaultCore (contracts/vault/OETHVaultCore.sol#10-12)\n", "markdown": "[VaultStorage.swapConfig](contracts/vault/VaultStorage.sol#L161) is never used in [OETHVaultCore](contracts/vault/OETHVaultCore.sol#L10-L12)\n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L161", "id": "2f693fe1c1b55189b244c3d2836962822084ed42ba961b3b1a724748878d58d8", "check": "unused-state", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "MAX_UINT", "source_mapping": {"start": 998, "length": 111, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [28, 29], "starting_column": 5, "ending_column": 75}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 788, "length": 27831, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803], "starting_column": 1, "ending_column": 2}}}}, {"type": "contract", "name": "OETHVaultCore", "source_mapping": {"start": 176, "length": 40, "filename_relative": "contracts/vault/OETHVaultCore.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHVaultCore.sol", "filename_short": "contracts/vault/OETHVaultCore.sol", "is_dependency": false, "lines": [10, 11, 12], "starting_column": 1, "ending_column": 2}}], "description": "VaultCore.MAX_UINT (contracts/vault/VaultCore.sol#28-29) is never used in OETHVaultCore (contracts/vault/OETHVaultCore.sol#10-12)\n", "markdown": "[VaultCore.MAX_UINT](contracts/vault/VaultCore.sol#L28-L29) is never used in [OETHVaultCore](contracts/vault/OETHVaultCore.sol#L10-L12)\n", "first_markdown_element": "contracts/vault/VaultCore.sol#L28-L29", "id": "95344e00c1decfbff4303679bb74ce8912b6e6ff165ec7001fd0c3e38aa363c5", "check": "unused-state", "impact": "Informational", "confidence": "High"}, {"elements": [], "description": "Loop condition `i < durations.length` (contracts/staking/SingleAssetStaking.sol#136) should use cached array length instead of referencing `length` member of the storage array.\n ", "markdown": "Loop condition `i < durations.length` (contracts/staking/SingleAssetStaking.sol#136) should use cached array length instead of referencing `length` member of the storage array.\n ", "first_markdown_element": "", "id": "7834824c1cc045ca55ed538b20a5b1d54aa02ad5c6b8b0f8d532f4f64b866017", "check": "cache-array-length", "impact": "Optimization", "confidence": "High"}, {"elements": [], "description": "Loop condition `i < assetsMapped.length` (contracts/strategies/MorphoCompoundStrategy.sol#108) should use cached array length instead of referencing `length` member of the storage array.\n ", "markdown": "Loop condition `i < assetsMapped.length` (contracts/strategies/MorphoCompoundStrategy.sol#108) should use cached array length instead of referencing `length` member of the storage array.\n ", "first_markdown_element": "", "id": "df0279ca5188021414afb9690dcb7a7412b2bbe0fd00a66b25dae68ab562441c", "check": "cache-array-length", "impact": "Optimization", "confidence": "High"}, {"elements": [], "description": "Loop condition `i < assetsMapped.length` (contracts/strategies/MorphoCompoundStrategy.sol#134) should use cached array length instead of referencing `length` member of the storage array.\n ", "markdown": "Loop condition `i < assetsMapped.length` (contracts/strategies/MorphoCompoundStrategy.sol#134) should use cached array length instead of referencing `length` member of the storage array.\n ", "first_markdown_element": "", "id": "e9c46c47b40bf46f415e79c57b6a041e06ef1d603c2581d05607e3f18c833d63", "check": "cache-array-length", "impact": "Optimization", "confidence": "High"}, {"elements": [], "description": "Loop condition `i < assetsMapped.length` (contracts/strategies/BaseCurveStrategy.sol#71) should use cached array length instead of referencing `length` member of the storage array.\n ", "markdown": "Loop condition `i < assetsMapped.length` (contracts/strategies/BaseCurveStrategy.sol#71) should use cached array length instead of referencing `length` member of the storage array.\n ", "first_markdown_element": "", "id": "87dae9f2e8793b2c6216035d1184808cefbc03b8b7770cd5fdcab32f5c88930e", "check": "cache-array-length", "impact": "Optimization", "confidence": "High"}, {"elements": [], "description": "Loop condition `i < assetsMapped.length` (contracts/strategies/AaveStrategy.sol#278) should use cached array length instead of referencing `length` member of the storage array.\n ", "markdown": "Loop condition `i < assetsMapped.length` (contracts/strategies/AaveStrategy.sol#278) should use cached array length instead of referencing `length` member of the storage array.\n ", "first_markdown_element": "", "id": "2a56e903b91517926f149ebe2a16a1f78062b796410716df17fd43d2200685a6", "check": "cache-array-length", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "maxSupplyDiff", "source_mapping": {"start": 5213, "length": 28, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [127], "starting_column": 5, "ending_column": 33}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 695, "length": 6457, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178], "starting_column": 1, "ending_column": 2}}}}], "description": "VaultStorage.maxSupplyDiff (contracts/vault/VaultStorage.sol#127) should be constant \n", "markdown": "[VaultStorage.maxSupplyDiff](contracts/vault/VaultStorage.sol#L127) should be constant \n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L127", "id": "09fd4446efe571b7801efb7877d22557574ea45e2982bf4d5366e0bdf1142249", "check": "constable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "netOusdMintForStrategyThreshold", "source_mapping": {"start": 5995, "length": 50, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [147], "starting_column": 5, "ending_column": 55}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 695, "length": 6457, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178], "starting_column": 1, "ending_column": 2}}}}], "description": "VaultStorage.netOusdMintForStrategyThreshold (contracts/vault/VaultStorage.sol#147) should be constant \n", "markdown": "[VaultStorage.netOusdMintForStrategyThreshold](contracts/vault/VaultStorage.sol#L147) should be constant \n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L147", "id": "bd0e4f67d5f6fb2a9810eb8385684dfcfa6d5febceacff6a21756e0514dc7dd7", "check": "constable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "oUSD", "source_mapping": {"start": 4376, "length": 18, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [106], "starting_column": 5, "ending_column": 23}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 695, "length": 6457, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178], "starting_column": 1, "ending_column": 2}}}}], "description": "VaultStorage.oUSD (contracts/vault/VaultStorage.sol#106) should be constant \n", "markdown": "[VaultStorage.oUSD](contracts/vault/VaultStorage.sol#L106) should be constant \n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L106", "id": "500e8adb38d72426b5e12a19f032430bae7fe79fc3b9039de8e1d2b8043c9f27", "check": "constable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "ousdMetaStrategy", "source_mapping": {"start": 5739, "length": 44, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [141], "starting_column": 5, "ending_column": 49}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 695, "length": 6457, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178], "starting_column": 1, "ending_column": 2}}}}], "description": "VaultStorage.ousdMetaStrategy (contracts/vault/VaultStorage.sol#141) should be constant \n", "markdown": "[VaultStorage.ousdMetaStrategy](contracts/vault/VaultStorage.sol#L141) should be constant \n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L141", "id": "79f67b513634062fa94cfd8c1f0eaac89d45211dbbaf7e930609371ec6e8a4a1", "check": "constable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "strategistAddr", "source_mapping": {"start": 4897, "length": 42, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [120], "starting_column": 5, "ending_column": 47}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 695, "length": 6457, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178], "starting_column": 1, "ending_column": 2}}}}], "description": "VaultStorage.strategistAddr (contracts/vault/VaultStorage.sol#120) should be constant \n", "markdown": "[VaultStorage.strategistAddr](contracts/vault/VaultStorage.sol#L120) should be constant \n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L120", "id": "3040efebbb4c164522cb91db7f6c9c1d2aff4f8ca7753b542e75df9130cdb792", "check": "constable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "trusteeAddress", "source_mapping": {"start": 5320, "length": 29, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [130], "starting_column": 5, "ending_column": 34}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 695, "length": 6457, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178], "starting_column": 1, "ending_column": 2}}}}], "description": "VaultStorage.trusteeAddress (contracts/vault/VaultStorage.sol#130) should be constant \n", "markdown": "[VaultStorage.trusteeAddress](contracts/vault/VaultStorage.sol#L130) should be constant \n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L130", "id": "1694f1d2905ea29eda65443d05da440b7e71abfa3cbf6cfa6a42f6a9ff44e094", "check": "constable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "trusteeFeeBps", "source_mapping": {"start": 5429, "length": 28, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [133], "starting_column": 5, "ending_column": 33}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 695, "length": 6457, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178], "starting_column": 1, "ending_column": 2}}}}], "description": "VaultStorage.trusteeFeeBps (contracts/vault/VaultStorage.sol#133) should be constant \n", "markdown": "[VaultStorage.trusteeFeeBps](contracts/vault/VaultStorage.sol#L133) should be constant \n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L133", "id": "684276aeea9e321f463f752fc69838fd6f7e79e627cb01fe42aff0ff1706283a", "check": "constable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "adjuster", "source_mapping": {"start": 1575, "length": 23, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [43], "starting_column": 5, "ending_column": 28}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompensationClaims", "source_mapping": {"start": 1527, "length": 3674, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164], "starting_column": 1, "ending_column": 2}}}}], "description": "CompensationClaims.adjuster (contracts/compensation/CompensationClaims.sol#43) should be immutable \n", "markdown": "[CompensationClaims.adjuster](contracts/compensation/CompensationClaims.sol#L43) should be immutable \n", "first_markdown_element": "contracts/compensation/CompensationClaims.sol#L43", "id": "6096d2df64fc09f12045506f6c33f0ab738f89c635ce3f9bca28d2993054310f", "check": "immutable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "token", "source_mapping": {"start": 1604, "length": 20, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [44], "starting_column": 5, "ending_column": 25}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompensationClaims", "source_mapping": {"start": 1527, "length": 3674, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164], "starting_column": 1, "ending_column": 2}}}}], "description": "CompensationClaims.token (contracts/compensation/CompensationClaims.sol#44) should be immutable \n", "markdown": "[CompensationClaims.token](contracts/compensation/CompensationClaims.sol#L44) should be immutable \n", "first_markdown_element": "contracts/compensation/CompensationClaims.sol#L44", "id": "8fa24775e2dccefd658d6fc197c9fc4dc75a17bae8289f947b6be9dc53595881", "check": "immutable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "function", "name": "constructor", "source_mapping": {"start": 849, "length": 231, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [24, 25, 26, 27, 28, 29, 30], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OETHZapper", "source_mapping": {"start": 288, "length": 2569, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81], "starting_column": 1, "ending_column": 2}}, "signature": "constructor(address,address)"}}, {"type": "node", "name": "weth.approve(address(_vault),type()(uint256).max)", "source_mapping": {"start": 965, "length": 48, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [28], "starting_column": 9, "ending_column": 57}, "type_specific_fields": {"parent": {"type": "function", "name": "constructor", "source_mapping": {"start": 849, "length": 231, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [24, 25, 26, 27, 28, 29, 30], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OETHZapper", "source_mapping": {"start": 288, "length": 2569, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81], "starting_column": 1, "ending_column": 2}}, "signature": "constructor(address,address)"}}}}], "description": "OETHZapper.constructor(address,address) (contracts/vault/OETHZapper.sol#24-30) ignores return value by weth.approve(address(_vault),type()(uint256).max) (contracts/vault/OETHZapper.sol#28)\n", "markdown": "[OETHZapper.constructor(address,address)](contracts/vault/OETHZapper.sol#L24-L30) ignores return value by [weth.approve(address(_vault),type()(uint256).max)](contracts/vault/OETHZapper.sol#L28)\n", "first_markdown_element": "contracts/vault/OETHZapper.sol#L24-L30", "id": "460275d8e7852760f596536253db6ec4738ca77745d9b5a38a289cbde2d9384c", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "constructor", "source_mapping": {"start": 849, "length": 231, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [24, 25, 26, 27, 28, 29, 30], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OETHZapper", "source_mapping": {"start": 288, "length": 2569, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81], "starting_column": 1, "ending_column": 2}}, "signature": "constructor(address,address)"}}, {"type": "node", "name": "frxeth.approve(address(_vault),type()(uint256).max)", "source_mapping": {"start": 1023, "length": 50, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [29], "starting_column": 9, "ending_column": 59}, "type_specific_fields": {"parent": {"type": "function", "name": "constructor", "source_mapping": {"start": 849, "length": 231, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [24, 25, 26, 27, 28, 29, 30], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OETHZapper", "source_mapping": {"start": 288, "length": 2569, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81], "starting_column": 1, "ending_column": 2}}, "signature": "constructor(address,address)"}}}}], "description": "OETHZapper.constructor(address,address) (contracts/vault/OETHZapper.sol#24-30) ignores return value by frxeth.approve(address(_vault),type()(uint256).max) (contracts/vault/OETHZapper.sol#29)\n", "markdown": "[OETHZapper.constructor(address,address)](contracts/vault/OETHZapper.sol#L24-L30) ignores return value by [frxeth.approve(address(_vault),type()(uint256).max)](contracts/vault/OETHZapper.sol#L29)\n", "first_markdown_element": "contracts/vault/OETHZapper.sol#L24-L30", "id": "602e23c82c5e4d9f8dc3e9ee61327d4e9d8fb09d886a291dc7f89562e7ac7586", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "depositSFRXETH", "source_mapping": {"start": 1917, "length": 274, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [58, 59, 60, 61, 62, 63, 64, 65], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OETHZapper", "source_mapping": {"start": 288, "length": 2569, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81], "starting_column": 1, "ending_column": 2}}, "signature": "depositSFRXETH(uint256,uint256)"}}, {"type": "node", "name": "sfrxeth.redeem(amount,address(this),msg.sender)", "source_mapping": {"start": 2031, "length": 49, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [62], "starting_column": 9, "ending_column": 58}, "type_specific_fields": {"parent": {"type": "function", "name": "depositSFRXETH", "source_mapping": {"start": 1917, "length": 274, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [58, 59, 60, 61, 62, 63, 64, 65], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OETHZapper", "source_mapping": {"start": 288, "length": 2569, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81], "starting_column": 1, "ending_column": 2}}, "signature": "depositSFRXETH(uint256,uint256)"}}}}], "description": "OETHZapper.depositSFRXETH(uint256,uint256) (contracts/vault/OETHZapper.sol#58-65) ignores return value by sfrxeth.redeem(amount,address(this),msg.sender) (contracts/vault/OETHZapper.sol#62)\n", "markdown": "[OETHZapper.depositSFRXETH(uint256,uint256)](contracts/vault/OETHZapper.sol#L58-L65) ignores return value by [sfrxeth.redeem(amount,address(this),msg.sender)](contracts/vault/OETHZapper.sol#L62)\n", "first_markdown_element": "contracts/vault/OETHZapper.sol#L58-L65", "id": "ad9cb44f03282639ae56103acb1e9e5014d0d451f5dcb7d2184c1b6c13d855f2", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "constructor", "source_mapping": {"start": 782, "length": 231, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OETHZapper", "source_mapping": {"start": 288, "length": 1735, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57], "starting_column": 1, "ending_column": 2}}, "signature": "constructor(address,address)"}}, {"type": "node", "name": "weth.approve(address(_vault),type()(uint256).max)", "source_mapping": {"start": 898, "length": 48, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [25], "starting_column": 9, "ending_column": 57}, "type_specific_fields": {"parent": {"type": "function", "name": "constructor", "source_mapping": {"start": 782, "length": 231, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OETHZapper", "source_mapping": {"start": 288, "length": 1735, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57], "starting_column": 1, "ending_column": 2}}, "signature": "constructor(address,address)"}}}}], "description": "OETHZapper.constructor(address,address) (contracts/vault/OETHZapper.sol#21-27) ignores return value by weth.approve(address(_vault),type()(uint256).max) (contracts/vault/OETHZapper.sol#25)\n", "markdown": "[OETHZapper.constructor(address,address)](contracts/vault/OETHZapper.sol#L21-L27) ignores return value by [weth.approve(address(_vault),type()(uint256).max)](contracts/vault/OETHZapper.sol#L25)\n", "first_markdown_element": "contracts/vault/OETHZapper.sol#L21-L27", "id": "2904e03fb2afa9650ab71131640fe730dd3c271bfbb0fd4e11b13f0169ac5cdd", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "constructor", "source_mapping": {"start": 782, "length": 231, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OETHZapper", "source_mapping": {"start": 288, "length": 1735, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57], "starting_column": 1, "ending_column": 2}}, "signature": "constructor(address,address)"}}, {"type": "node", "name": "frxeth.approve(address(_vault),type()(uint256).max)", "source_mapping": {"start": 956, "length": 50, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [26], "starting_column": 9, "ending_column": 59}, "type_specific_fields": {"parent": {"type": "function", "name": "constructor", "source_mapping": {"start": 782, "length": 231, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OETHZapper", "source_mapping": {"start": 288, "length": 1735, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57], "starting_column": 1, "ending_column": 2}}, "signature": "constructor(address,address)"}}}}], "description": "OETHZapper.constructor(address,address) (contracts/vault/OETHZapper.sol#21-27) ignores return value by frxeth.approve(address(_vault),type()(uint256).max) (contracts/vault/OETHZapper.sol#26)\n", "markdown": "[OETHZapper.constructor(address,address)](contracts/vault/OETHZapper.sol#L21-L27) ignores return value by [frxeth.approve(address(_vault),type()(uint256).max)](contracts/vault/OETHZapper.sol#L26)\n", "first_markdown_element": "contracts/vault/OETHZapper.sol#L21-L27", "id": "15b258e120fd421efd1ea15d8572ec122239b4431c578c7cc72318a969319597", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "depositSFRXETH", "source_mapping": {"start": 1331, "length": 274, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [40, 41, 42, 43, 44, 45, 46, 47], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OETHZapper", "source_mapping": {"start": 288, "length": 1735, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57], "starting_column": 1, "ending_column": 2}}, "signature": "depositSFRXETH(uint256,uint256)"}}, {"type": "node", "name": "sfrxeth.redeem(amount,address(this),msg.sender)", "source_mapping": {"start": 1445, "length": 49, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [44], "starting_column": 9, "ending_column": 58}, "type_specific_fields": {"parent": {"type": "function", "name": "depositSFRXETH", "source_mapping": {"start": 1331, "length": 274, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [40, 41, 42, 43, 44, 45, 46, 47], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OETHZapper", "source_mapping": {"start": 288, "length": 1735, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57], "starting_column": 1, "ending_column": 2}}, "signature": "depositSFRXETH(uint256,uint256)"}}}}], "description": "OETHZapper.depositSFRXETH(uint256,uint256) (contracts/vault/OETHZapper.sol#40-47) ignores return value by sfrxeth.redeem(amount,address(this),msg.sender) (contracts/vault/OETHZapper.sol#44)\n", "markdown": "[OETHZapper.depositSFRXETH(uint256,uint256)](contracts/vault/OETHZapper.sol#L40-L47) ignores return value by [sfrxeth.redeem(amount,address(this),msg.sender)](contracts/vault/OETHZapper.sol#L44)\n", "first_markdown_element": "contracts/vault/OETHZapper.sol#L40-L47", "id": "3246dfb4384082977afe4b276459e86813a51a7fe4df6333e08dee5ee1b03c0c", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "assets", "source_mapping": {"start": 2394, "length": 41, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [61], "starting_column": 5, "ending_column": 46}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 828, "length": 4640, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146], "starting_column": 1, "ending_column": 2}}}}, {"type": "function", "name": "mint", "source_mapping": {"start": 2178, "length": 1436, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "mint(address,uint256,uint256)"}}, {"type": "function", "name": "isSupportedAsset", "source_mapping": {"start": 22648, "length": 121, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [627, 628, 629], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "isSupportedAsset(address)"}}, {"type": "function", "name": "_toUnits", "source_mapping": {"start": 23346, "length": 597, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "_toUnits(uint256,address)"}}, {"type": "function", "name": "_toUnitPrice", "source_mapping": {"start": 23949, "length": 573, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "_toUnitPrice(uint256,address)"}}], "description": "VaultStorage.assets (contracts/vault/VaultStorage.sol#61) is never initialized. It is used in:\n\t- VaultCore.mint(address,uint256,uint256) (contracts/vault/VaultCore.sol#66-107)\n\t- VaultCore.isSupportedAsset(address) (contracts/vault/VaultCore.sol#627-629)\n\t- VaultCore._toUnits(uint256,address) (contracts/vault/VaultCore.sol#646-661)\n\t- VaultCore._toUnitPrice(uint256,address) (contracts/vault/VaultCore.sol#663-678)\n", "markdown": "[VaultStorage.assets](contracts/vault/VaultStorage.sol#L61) is never initialized. It is used in:\n\t- [VaultCore.mint(address,uint256,uint256)](contracts/vault/VaultCore.sol#L66-L107)\n\t- [VaultCore.isSupportedAsset(address)](contracts/vault/VaultCore.sol#L627-L629)\n\t- [VaultCore._toUnits(uint256,address)](contracts/vault/VaultCore.sol#L646-L661)\n\t- [VaultCore._toUnitPrice(uint256,address)](contracts/vault/VaultCore.sol#L663-L678)\n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L61", "id": "c860938e159ea26b593c250740cbaa2024ab5c9ac0d6205f97e9af6dac87675f", "check": "uninitialized-state", "impact": "High", "confidence": "High"}, {"elements": [{"type": "variable", "name": "allAssets", "source_mapping": {"start": 2441, "length": 28, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [62], "starting_column": 5, "ending_column": 33}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 828, "length": 4640, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146], "starting_column": 1, "ending_column": 2}}}}, {"type": "function", "name": "_redeem", "source_mapping": {"start": 5763, "length": 2485, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "_redeem(uint256,uint256)"}}, {"type": "function", "name": "_allocate", "source_mapping": {"start": 10672, "length": 2860, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "_allocate()"}}, {"type": "function", "name": "_totalValueInVault", "source_mapping": {"start": 15676, "length": 356, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [432, 433, 434, 435, 436, 437, 438, 439, 440], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "_totalValueInVault()"}}, {"type": "function", "name": "_totalValueInStrategy", "source_mapping": {"start": 16603, "length": 505, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "_totalValueInStrategy(address)"}}, {"type": "function", "name": "_calculateRedeemOutputs", "source_mapping": {"start": 18727, "length": 3082, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "_calculateRedeemOutputs(uint256)"}}, {"type": "function", "name": "getAssetCount", "source_mapping": {"start": 22013, "length": 95, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [602, 603, 604], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "getAssetCount()"}}, {"type": "function", "name": "getAllAssets", "source_mapping": {"start": 22178, "length": 98, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [609, 610, 611], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "getAllAssets()"}}], "description": "VaultStorage.allAssets (contracts/vault/VaultStorage.sol#62) is never initialized. It is used in:\n\t- VaultCore._redeem(uint256,uint256) (contracts/vault/VaultCore.sol#169-233)\n\t- VaultCore._allocate() (contracts/vault/VaultCore.sol#301-369)\n\t- VaultCore._totalValueInVault() (contracts/vault/VaultCore.sol#432-440)\n\t- VaultCore._totalValueInStrategy(address) (contracts/vault/VaultCore.sol#457-471)\n\t- VaultCore._calculateRedeemOutputs(uint256) (contracts/vault/VaultCore.sol#522-593)\n\t- VaultCore.getAssetCount() (contracts/vault/VaultCore.sol#602-604)\n\t- VaultCore.getAllAssets() (contracts/vault/VaultCore.sol#609-611)\n", "markdown": "[VaultStorage.allAssets](contracts/vault/VaultStorage.sol#L62) is never initialized. It is used in:\n\t- [VaultCore._redeem(uint256,uint256)](contracts/vault/VaultCore.sol#L169-L233)\n\t- [VaultCore._allocate()](contracts/vault/VaultCore.sol#L301-L369)\n\t- [VaultCore._totalValueInVault()](contracts/vault/VaultCore.sol#L432-L440)\n\t- [VaultCore._totalValueInStrategy(address)](contracts/vault/VaultCore.sol#L457-L471)\n\t- [VaultCore._calculateRedeemOutputs(uint256)](contracts/vault/VaultCore.sol#L522-L593)\n\t- [VaultCore.getAssetCount()](contracts/vault/VaultCore.sol#L602-L604)\n\t- [VaultCore.getAllAssets()](contracts/vault/VaultCore.sol#L609-L611)\n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L62", "id": "e730fe429679f7811e61698e718568e8a56bd48136d661a5573f979234e6996c", "check": "uninitialized-state", "impact": "High", "confidence": "High"}, {"elements": [{"type": "variable", "name": "allStrategies", "source_mapping": {"start": 2688, "length": 32, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [70], "starting_column": 5, "ending_column": 37}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 828, "length": 4640, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146], "starting_column": 1, "ending_column": 2}}}}, {"type": "function", "name": "_totalValueInStrategies", "source_mapping": {"start": 16181, "length": 223, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [446, 447, 448, 449, 450], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "_totalValueInStrategies()"}}, {"type": "function", "name": "_checkBalance", "source_mapping": {"start": 17619, "length": 486, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "_checkBalance(address)"}}, {"type": "function", "name": "getStrategyCount", "source_mapping": {"start": 22363, "length": 104, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [616, 617, 618], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "getStrategyCount()"}}, {"type": "function", "name": "getAllStrategies", "source_mapping": {"start": 22536, "length": 106, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [623, 624, 625], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "getAllStrategies()"}}], "description": "VaultStorage.allStrategies (contracts/vault/VaultStorage.sol#70) is never initialized. It is used in:\n\t- VaultCore._totalValueInStrategies() (contracts/vault/VaultCore.sol#446-450)\n\t- VaultCore._checkBalance(address) (contracts/vault/VaultCore.sol#487-501)\n\t- VaultCore.getStrategyCount() (contracts/vault/VaultCore.sol#616-618)\n\t- VaultCore.getAllStrategies() (contracts/vault/VaultCore.sol#623-625)\n", "markdown": "[VaultStorage.allStrategies](contracts/vault/VaultStorage.sol#L70) is never initialized. It is used in:\n\t- [VaultCore._totalValueInStrategies()](contracts/vault/VaultCore.sol#L446-L450)\n\t- [VaultCore._checkBalance(address)](contracts/vault/VaultCore.sol#L487-L501)\n\t- [VaultCore.getStrategyCount()](contracts/vault/VaultCore.sol#L616-L618)\n\t- [VaultCore.getAllStrategies()](contracts/vault/VaultCore.sol#L623-L625)\n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L70", "id": "777cbcb013e313a3fd0021436d35e92824a94e210c1611ee051fc5d399d6661c", "check": "uninitialized-state", "impact": "High", "confidence": "High"}, {"elements": [{"type": "variable", "name": "priceProvider", "source_mapping": {"start": 2780, "length": 28, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [73], "starting_column": 5, "ending_column": 33}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 828, "length": 4640, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146], "starting_column": 1, "ending_column": 2}}}}, {"type": "function", "name": "mint", "source_mapping": {"start": 2178, "length": 1436, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "mint(address,uint256,uint256)"}}, {"type": "function", "name": "_calculateRedeemOutputs", "source_mapping": {"start": 18727, "length": 3082, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "_calculateRedeemOutputs(uint256)"}}], "description": "VaultStorage.priceProvider (contracts/vault/VaultStorage.sol#73) is never initialized. It is used in:\n\t- VaultCore.mint(address,uint256,uint256) (contracts/vault/VaultCore.sol#66-107)\n\t- VaultCore._calculateRedeemOutputs(uint256) (contracts/vault/VaultCore.sol#522-593)\n", "markdown": "[VaultStorage.priceProvider](contracts/vault/VaultStorage.sol#L73) is never initialized. It is used in:\n\t- [VaultCore.mint(address,uint256,uint256)](contracts/vault/VaultCore.sol#L66-L107)\n\t- [VaultCore._calculateRedeemOutputs(uint256)](contracts/vault/VaultCore.sol#L522-L593)\n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L73", "id": "eb7c2db1064787af6f239823c6b9223ba83a523396f8c7dc61c479282af97886", "check": "uninitialized-state", "impact": "High", "confidence": "High"}, {"elements": [{"type": "variable", "name": "redeemFeeBps", "source_mapping": {"start": 2949, "length": 27, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [78], "starting_column": 5, "ending_column": 32}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 828, "length": 4640, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146], "starting_column": 1, "ending_column": 2}}}}, {"type": "function", "name": "_calculateRedeemOutputs", "source_mapping": {"start": 18727, "length": 3082, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "_calculateRedeemOutputs(uint256)"}}], "description": "VaultStorage.redeemFeeBps (contracts/vault/VaultStorage.sol#78) is never initialized. It is used in:\n\t- VaultCore._calculateRedeemOutputs(uint256) (contracts/vault/VaultCore.sol#522-593)\n", "markdown": "[VaultStorage.redeemFeeBps](contracts/vault/VaultStorage.sol#L78) is never initialized. It is used in:\n\t- [VaultCore._calculateRedeemOutputs(uint256)](contracts/vault/VaultCore.sol#L522-L593)\n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L78", "id": "c4819c8bb26576b24a1992a0ece73900c1b258ae9f166389ef2521f675df5cb1", "check": "uninitialized-state", "impact": "High", "confidence": "High"}, {"elements": [{"type": "variable", "name": "vaultBuffer", "source_mapping": {"start": 3052, "length": 26, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [80], "starting_column": 5, "ending_column": 31}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 828, "length": 4640, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146], "starting_column": 1, "ending_column": 2}}}}, {"type": "function", "name": "_allocate", "source_mapping": {"start": 10672, "length": 2860, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "_allocate()"}}], "description": "VaultStorage.vaultBuffer (contracts/vault/VaultStorage.sol#80) is never initialized. It is used in:\n\t- VaultCore._allocate() (contracts/vault/VaultCore.sol#301-369)\n", "markdown": "[VaultStorage.vaultBuffer](contracts/vault/VaultStorage.sol#L80) is never initialized. It is used in:\n\t- [VaultCore._allocate()](contracts/vault/VaultCore.sol#L301-L369)\n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L80", "id": "7147ba0fbcdb532f72f8a1425c5779a2caf2d432ef22a51a9c541b90d6da121c", "check": "uninitialized-state", "impact": "High", "confidence": "High"}, {"elements": [{"type": "variable", "name": "autoAllocateThreshold", "source_mapping": {"start": 3157, "length": 36, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [82], "starting_column": 5, "ending_column": 41}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 828, "length": 4640, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146], "starting_column": 1, "ending_column": 2}}}}, {"type": "function", "name": "mint", "source_mapping": {"start": 2178, "length": 1436, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "mint(address,uint256,uint256)"}}], "description": "VaultStorage.autoAllocateThreshold (contracts/vault/VaultStorage.sol#82) is never initialized. It is used in:\n\t- VaultCore.mint(address,uint256,uint256) (contracts/vault/VaultCore.sol#66-107)\n", "markdown": "[VaultStorage.autoAllocateThreshold](contracts/vault/VaultStorage.sol#L82) is never initialized. It is used in:\n\t- [VaultCore.mint(address,uint256,uint256)](contracts/vault/VaultCore.sol#L66-L107)\n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L82", "id": "3d9c26c30d04bc19d1bc2436186d32a82dbdee2c98be4833dff1f7fefa80858d", "check": "uninitialized-state", "impact": "High", "confidence": "High"}, {"elements": [{"type": "variable", "name": "rebaseThreshold", "source_mapping": {"start": 3264, "length": 30, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [84], "starting_column": 5, "ending_column": 35}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 828, "length": 4640, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146], "starting_column": 1, "ending_column": 2}}}}, {"type": "function", "name": "mint", "source_mapping": {"start": 2178, "length": 1436, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "mint(address,uint256,uint256)"}}, {"type": "function", "name": "mintForStrategy", "source_mapping": {"start": 4345, "length": 813, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "mintForStrategy(uint256)"}}, {"type": "function", "name": "_redeem", "source_mapping": {"start": 5763, "length": 2485, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "_redeem(uint256,uint256)"}}, {"type": "function", "name": "burnForStrategy", "source_mapping": {"start": 8974, "length": 951, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "burnForStrategy(uint256)"}}], "description": "VaultStorage.rebaseThreshold (contracts/vault/VaultStorage.sol#84) is never initialized. It is used in:\n\t- VaultCore.mint(address,uint256,uint256) (contracts/vault/VaultCore.sol#66-107)\n\t- VaultCore.mintForStrategy(uint256) (contracts/vault/VaultCore.sol#122-147)\n\t- VaultCore._redeem(uint256,uint256) (contracts/vault/VaultCore.sol#169-233)\n\t- VaultCore.burnForStrategy(uint256) (contracts/vault/VaultCore.sol#248-275)\n", "markdown": "[VaultStorage.rebaseThreshold](contracts/vault/VaultStorage.sol#L84) is never initialized. It is used in:\n\t- [VaultCore.mint(address,uint256,uint256)](contracts/vault/VaultCore.sol#L66-L107)\n\t- [VaultCore.mintForStrategy(uint256)](contracts/vault/VaultCore.sol#L122-L147)\n\t- [VaultCore._redeem(uint256,uint256)](contracts/vault/VaultCore.sol#L169-L233)\n\t- [VaultCore.burnForStrategy(uint256)](contracts/vault/VaultCore.sol#L248-L275)\n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L84", "id": "b8efcc08277c777ff50a11fc931031018cad1a54978f03183217cd13dd183093", "check": "uninitialized-state", "impact": "High", "confidence": "High"}, {"elements": [{"type": "variable", "name": "oUSD", "source_mapping": {"start": 3301, "length": 18, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [86], "starting_column": 5, "ending_column": 23}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 828, "length": 4640, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146], "starting_column": 1, "ending_column": 2}}}}, {"type": "function", "name": "mint", "source_mapping": {"start": 2178, "length": 1436, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "mint(address,uint256,uint256)"}}, {"type": "function", "name": "mintForStrategy", "source_mapping": {"start": 4345, "length": 813, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "mintForStrategy(uint256)"}}, {"type": "function", "name": "_redeem", "source_mapping": {"start": 5763, "length": 2485, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "_redeem(uint256,uint256)"}}, {"type": "function", "name": "burnForStrategy", "source_mapping": {"start": 8974, "length": 951, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "burnForStrategy(uint256)"}}, {"type": "function", "name": "redeemAll", "source_mapping": {"start": 10087, "length": 190, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [281, 282, 283, 284, 285, 286, 287], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "redeemAll(uint256)"}}, {"type": "function", "name": "_rebase", "source_mapping": {"start": 13976, "length": 953, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [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], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "_rebase()"}}], "description": "VaultStorage.oUSD (contracts/vault/VaultStorage.sol#86) is never initialized. It is used in:\n\t- VaultCore.mint(address,uint256,uint256) (contracts/vault/VaultCore.sol#66-107)\n\t- VaultCore.mintForStrategy(uint256) (contracts/vault/VaultCore.sol#122-147)\n\t- VaultCore._redeem(uint256,uint256) (contracts/vault/VaultCore.sol#169-233)\n\t- VaultCore.burnForStrategy(uint256) (contracts/vault/VaultCore.sol#248-275)\n\t- VaultCore.redeemAll(uint256) (contracts/vault/VaultCore.sol#281-287)\n\t- VaultCore._rebase() (contracts/vault/VaultCore.sol#384-408)\n", "markdown": "[VaultStorage.oUSD](contracts/vault/VaultStorage.sol#L86) is never initialized. It is used in:\n\t- [VaultCore.mint(address,uint256,uint256)](contracts/vault/VaultCore.sol#L66-L107)\n\t- [VaultCore.mintForStrategy(uint256)](contracts/vault/VaultCore.sol#L122-L147)\n\t- [VaultCore._redeem(uint256,uint256)](contracts/vault/VaultCore.sol#L169-L233)\n\t- [VaultCore.burnForStrategy(uint256)](contracts/vault/VaultCore.sol#L248-L275)\n\t- [VaultCore.redeemAll(uint256)](contracts/vault/VaultCore.sol#L281-L287)\n\t- [VaultCore._rebase()](contracts/vault/VaultCore.sol#L384-L408)\n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L86", "id": "df26918b8bdd621ec118d2015bb8578817d734b6d3c33937967b164cadc2ace0", "check": "uninitialized-state", "impact": "High", "confidence": "High"}, {"elements": [{"type": "variable", "name": "maxSupplyDiff", "source_mapping": {"start": 4028, "length": 28, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [106], "starting_column": 5, "ending_column": 33}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 828, "length": 4640, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146], "starting_column": 1, "ending_column": 2}}}}, {"type": "function", "name": "_redeem", "source_mapping": {"start": 5763, "length": 2485, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "_redeem(uint256,uint256)"}}], "description": "VaultStorage.maxSupplyDiff (contracts/vault/VaultStorage.sol#106) is never initialized. It is used in:\n\t- VaultCore._redeem(uint256,uint256) (contracts/vault/VaultCore.sol#169-233)\n", "markdown": "[VaultStorage.maxSupplyDiff](contracts/vault/VaultStorage.sol#L106) is never initialized. It is used in:\n\t- [VaultCore._redeem(uint256,uint256)](contracts/vault/VaultCore.sol#L169-L233)\n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L106", "id": "6a3430804bec9d029a57ae03c02e8a40c310203865799000bf50016777b36f8f", "check": "uninitialized-state", "impact": "High", "confidence": "High"}, {"elements": [{"type": "variable", "name": "decimalsCache", "source_mapping": {"start": 4736, "length": 50, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [124], "starting_column": 5, "ending_column": 55}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 828, "length": 4497, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141], "starting_column": 1, "ending_column": 2}}}}, {"type": "function", "name": "_getDecimals", "source_mapping": {"start": 23780, "length": 204, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [668, 669, 670, 671, 672], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 987, "length": 24439, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717], "starting_column": 1, "ending_column": 2}}, "signature": "_getDecimals(address)"}}], "description": "VaultStorage.decimalsCache (contracts/vault/VaultStorage.sol#124) is never initialized. It is used in:\n\t- VaultCore._getDecimals(address) (contracts/vault/VaultCore.sol#668-672)\n", "markdown": "[VaultStorage.decimalsCache](contracts/vault/VaultStorage.sol#L124) is never initialized. It is used in:\n\t- [VaultCore._getDecimals(address)](contracts/vault/VaultCore.sol#L668-L672)\n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L124", "id": "ae957b4f96eb11ddea5ee4d030d41472ceee6954f34cde52618144ab869fa8c3", "check": "uninitialized-state", "impact": "High", "confidence": "High"}, {"elements": [{"type": "variable", "name": "assets", "source_mapping": {"start": 2283, "length": 41, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [57], "starting_column": 5, "ending_column": 46}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 828, "length": 3795, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126], "starting_column": 1, "ending_column": 2}}}}, {"type": "function", "name": "mint", "source_mapping": {"start": 1716, "length": 1511, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 874, "length": 22316, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639], "starting_column": 1, "ending_column": 2}}, "signature": "mint(address,uint256,uint256)"}}, {"type": "function", "name": "isSupportedAsset", "source_mapping": {"start": 21910, "length": 121, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [599, 600, 601], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 874, "length": 22316, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639], "starting_column": 1, "ending_column": 2}}, "signature": "isSupportedAsset(address)"}}], "description": "VaultStorage.assets (contracts/vault/VaultStorage.sol#57) is never initialized. It is used in:\n\t- VaultCore.mint(address,uint256,uint256) (contracts/vault/VaultCore.sol#53-97)\n\t- VaultCore.isSupportedAsset(address) (contracts/vault/VaultCore.sol#599-601)\n", "markdown": "[VaultStorage.assets](contracts/vault/VaultStorage.sol#L57) is never initialized. It is used in:\n\t- [VaultCore.mint(address,uint256,uint256)](contracts/vault/VaultCore.sol#L53-L97)\n\t- [VaultCore.isSupportedAsset(address)](contracts/vault/VaultCore.sol#L599-L601)\n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L57", "id": "6a182c24e91d1dd53b0b1ef0dab5f77981ebaf050bd25c19b9cca70afaf18e67", "check": "uninitialized-state", "impact": "High", "confidence": "High"}, {"elements": [{"type": "variable", "name": "_decimals", "source_mapping": {"start": 393, "length": 23, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_relative": "contracts/token/OUSDResolutionUpgrade.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_short": "contracts/token/OUSDResolutionUpgrade.sol", "is_dependency": false, "lines": [19], "starting_column": 5, "ending_column": 28}, "type_specific_fields": {"parent": {"type": "contract", "name": "OUSDResolutionUpgrade", "source_mapping": {"start": 25, "length": 4062, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_relative": "contracts/token/OUSDResolutionUpgrade.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_short": "contracts/token/OUSDResolutionUpgrade.sol", "is_dependency": false, "lines": [3, 4, 5, 6, 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, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130], "starting_column": 1, "ending_column": 2}}}}], "description": "OUSDResolutionUpgrade._decimals (contracts/token/OUSDResolutionUpgrade.sol#19) should be constant\n", "markdown": "[OUSDResolutionUpgrade._decimals](contracts/token/OUSDResolutionUpgrade.sol#L19) should be constant\n", "first_markdown_element": "contracts/token/OUSDResolutionUpgrade.sol#L19", "id": "c6b2c8888913a809e3344ed0dee21191412ae3601896db9c573f735f6c3d7a8a", "check": "constable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "_name", "source_mapping": {"start": 339, "length": 20, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_relative": "contracts/token/OUSDResolutionUpgrade.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_short": "contracts/token/OUSDResolutionUpgrade.sol", "is_dependency": false, "lines": [17], "starting_column": 5, "ending_column": 25}, "type_specific_fields": {"parent": {"type": "contract", "name": "OUSDResolutionUpgrade", "source_mapping": {"start": 25, "length": 4062, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_relative": "contracts/token/OUSDResolutionUpgrade.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_short": "contracts/token/OUSDResolutionUpgrade.sol", "is_dependency": false, "lines": [3, 4, 5, 6, 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, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130], "starting_column": 1, "ending_column": 2}}}}], "description": "OUSDResolutionUpgrade._name (contracts/token/OUSDResolutionUpgrade.sol#17) should be constant\n", "markdown": "[OUSDResolutionUpgrade._name](contracts/token/OUSDResolutionUpgrade.sol#L17) should be constant\n", "first_markdown_element": "contracts/token/OUSDResolutionUpgrade.sol#L17", "id": "6956191c111bc7668de81941132c1a31576d2af9cfae5034646c97388cdec653", "check": "constable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "_symbol", "source_mapping": {"start": 365, "length": 22, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_relative": "contracts/token/OUSDResolutionUpgrade.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_short": "contracts/token/OUSDResolutionUpgrade.sol", "is_dependency": false, "lines": [18], "starting_column": 5, "ending_column": 27}, "type_specific_fields": {"parent": {"type": "contract", "name": "OUSDResolutionUpgrade", "source_mapping": {"start": 25, "length": 4062, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_relative": "contracts/token/OUSDResolutionUpgrade.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_short": "contracts/token/OUSDResolutionUpgrade.sol", "is_dependency": false, "lines": [3, 4, 5, 6, 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, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130], "starting_column": 1, "ending_column": 2}}}}], "description": "OUSDResolutionUpgrade._symbol (contracts/token/OUSDResolutionUpgrade.sol#18) should be constant\n", "markdown": "[OUSDResolutionUpgrade._symbol](contracts/token/OUSDResolutionUpgrade.sol#L18) should be constant\n", "first_markdown_element": "contracts/token/OUSDResolutionUpgrade.sol#L18", "id": "4a6b27b5189d0409bd8717ec6416071376f25ba75d9a3fcb2c617036aa554257", "check": "constable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "_totalSupply", "source_mapping": {"start": 510, "length": 27, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_relative": "contracts/token/OUSDResolutionUpgrade.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_short": "contracts/token/OUSDResolutionUpgrade.sol", "is_dependency": false, "lines": [23], "starting_column": 5, "ending_column": 32}, "type_specific_fields": {"parent": {"type": "contract", "name": "OUSDResolutionUpgrade", "source_mapping": {"start": 25, "length": 4062, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_relative": "contracts/token/OUSDResolutionUpgrade.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_short": "contracts/token/OUSDResolutionUpgrade.sol", "is_dependency": false, "lines": [3, 4, 5, 6, 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, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130], "starting_column": 1, "ending_column": 2}}}}], "description": "OUSDResolutionUpgrade._totalSupply (contracts/token/OUSDResolutionUpgrade.sol#23) should be constant\n", "markdown": "[OUSDResolutionUpgrade._totalSupply](contracts/token/OUSDResolutionUpgrade.sol#L23) should be constant\n", "first_markdown_element": "contracts/token/OUSDResolutionUpgrade.sol#L23", "id": "1658e506f1e0828cb824d099c91bb2a569de15dbd05bdc7f11b98a69a98f8638", "check": "constable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "initialized", "source_mapping": {"start": 166, "length": 24, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_relative": "contracts/token/OUSDResolutionUpgrade.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_short": "contracts/token/OUSDResolutionUpgrade.sol", "is_dependency": false, "lines": [11], "starting_column": 5, "ending_column": 29}, "type_specific_fields": {"parent": {"type": "contract", "name": "OUSDResolutionUpgrade", "source_mapping": {"start": 25, "length": 4062, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_relative": "contracts/token/OUSDResolutionUpgrade.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_short": "contracts/token/OUSDResolutionUpgrade.sol", "is_dependency": false, "lines": [3, 4, 5, 6, 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, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130], "starting_column": 1, "ending_column": 2}}}}], "description": "OUSDResolutionUpgrade.initialized (contracts/token/OUSDResolutionUpgrade.sol#11) should be constant\n", "markdown": "[OUSDResolutionUpgrade.initialized](contracts/token/OUSDResolutionUpgrade.sol#L11) should be constant\n", "first_markdown_element": "contracts/token/OUSDResolutionUpgrade.sol#L11", "id": "fefc27aa7f63a8fb938914b29bdf6913ea43894d2297e65bc64c63cf5cf82af9", "check": "constable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "initializing", "source_mapping": {"start": 196, "length": 25, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_relative": "contracts/token/OUSDResolutionUpgrade.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_short": "contracts/token/OUSDResolutionUpgrade.sol", "is_dependency": false, "lines": [12], "starting_column": 5, "ending_column": 30}, "type_specific_fields": {"parent": {"type": "contract", "name": "OUSDResolutionUpgrade", "source_mapping": {"start": 25, "length": 4062, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_relative": "contracts/token/OUSDResolutionUpgrade.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_short": "contracts/token/OUSDResolutionUpgrade.sol", "is_dependency": false, "lines": [3, 4, 5, 6, 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, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130], "starting_column": 1, "ending_column": 2}}}}], "description": "OUSDResolutionUpgrade.initializing (contracts/token/OUSDResolutionUpgrade.sol#12) should be constant\n", "markdown": "[OUSDResolutionUpgrade.initializing](contracts/token/OUSDResolutionUpgrade.sol#L12) should be constant\n", "first_markdown_element": "contracts/token/OUSDResolutionUpgrade.sol#L12", "id": "c69133d357c924089ed02bb4dde070a42b4bf6de4c0b65d348e468864973316a", "check": "constable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "nonRebasingSupply", "source_mapping": {"start": 803, "length": 32, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_relative": "contracts/token/OUSDResolutionUpgrade.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_short": "contracts/token/OUSDResolutionUpgrade.sol", "is_dependency": false, "lines": [29], "starting_column": 5, "ending_column": 37}, "type_specific_fields": {"parent": {"type": "contract", "name": "OUSDResolutionUpgrade", "source_mapping": {"start": 25, "length": 4062, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_relative": "contracts/token/OUSDResolutionUpgrade.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_short": "contracts/token/OUSDResolutionUpgrade.sol", "is_dependency": false, "lines": [3, 4, 5, 6, 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, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130], "starting_column": 1, "ending_column": 2}}}}], "description": "OUSDResolutionUpgrade.nonRebasingSupply (contracts/token/OUSDResolutionUpgrade.sol#29) should be constant\n", "markdown": "[OUSDResolutionUpgrade.nonRebasingSupply](contracts/token/OUSDResolutionUpgrade.sol#L29) should be constant\n", "first_markdown_element": "contracts/token/OUSDResolutionUpgrade.sol#L29", "id": "e17fd436e0a604cb7be2d272cdd362338280663a1a0aa613116ea1b3fbe6ebc9", "check": "constable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "vaultAddress", "source_mapping": {"start": 616, "length": 40, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_relative": "contracts/token/OUSDResolutionUpgrade.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_short": "contracts/token/OUSDResolutionUpgrade.sol", "is_dependency": false, "lines": [25], "starting_column": 5, "ending_column": 45}, "type_specific_fields": {"parent": {"type": "contract", "name": "OUSDResolutionUpgrade", "source_mapping": {"start": 25, "length": 4062, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_relative": "contracts/token/OUSDResolutionUpgrade.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_short": "contracts/token/OUSDResolutionUpgrade.sol", "is_dependency": false, "lines": [3, 4, 5, 6, 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, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130], "starting_column": 1, "ending_column": 2}}}}], "description": "OUSDResolutionUpgrade.vaultAddress (contracts/token/OUSDResolutionUpgrade.sol#25) should be constant\n", "markdown": "[OUSDResolutionUpgrade.vaultAddress](contracts/token/OUSDResolutionUpgrade.sol#L25) should be constant\n", "first_markdown_element": "contracts/token/OUSDResolutionUpgrade.sol#L25", "id": "d17c40d13f23171f24f257c05a906ba4f825e300c024fcec7986d2bf6ed00657", "check": "constable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "isUpgraded", "source_mapping": {"start": 1875, "length": 45, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSD.sol", "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [52], "starting_column": 5, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "contract", "name": "OUSD", "source_mapping": {"start": 840, "length": 19113, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSD.sol", "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578], "starting_column": 1, "ending_column": 2}}}}, {"type": "function", "name": "creditsBalanceOfHighres", "source_mapping": {"start": 5205, "length": 322, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSD.sol", "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OUSD", "source_mapping": {"start": 840, "length": 19113, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSD.sol", "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578], "starting_column": 1, "ending_column": 2}}, "signature": "creditsBalanceOfHighres(address)"}}], "description": "OUSD.isUpgraded (contracts/token/OUSD.sol#52) is never initialized. It is used in:\n\t- OUSD.creditsBalanceOfHighres(address) (contracts/token/OUSD.sol#158-172)\n", "markdown": "[OUSD.isUpgraded](contracts/token/OUSD.sol#L52) is never initialized. It is used in:\n\t- [OUSD.creditsBalanceOfHighres(address)](contracts/token/OUSD.sol#L158-L172)\n", "first_markdown_element": "contracts/token/OUSD.sol#L52", "id": "1a9fd10ae49fbf202e5333c123ca53e5ea8614f3f7a5ace5a8e001758b5be263", "check": "uninitialized-state", "impact": "High", "confidence": "High"}, {"elements": [{"type": "function", "name": "scaleBy", "source_mapping": {"start": 781, "length": 288, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/utils/StableMath.sol", "filename_relative": "contracts/utils/StableMath.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/utils/StableMath.sol", "filename_short": "contracts/utils/StableMath.sol", "is_dependency": false, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StableMath", "source_mapping": {"start": 285, "length": 3569, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/utils/StableMath.sol", "filename_relative": "contracts/utils/StableMath.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/utils/StableMath.sol", "filename_short": "contracts/utils/StableMath.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114], "starting_column": 1, "ending_column": 2}}, "signature": "scaleBy(uint256,uint256,uint256)"}}, {"type": "node", "name": "x = x.mul(10 ** (to - from))", "source_mapping": {"start": 936, "length": 26, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/utils/StableMath.sol", "filename_relative": "contracts/utils/StableMath.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/utils/StableMath.sol", "filename_short": "contracts/utils/StableMath.sol", "is_dependency": false, "lines": [33], "starting_column": 13, "ending_column": 39}, "type_specific_fields": {"parent": {"type": "function", "name": "scaleBy", "source_mapping": {"start": 781, "length": 288, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/utils/StableMath.sol", "filename_relative": "contracts/utils/StableMath.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/utils/StableMath.sol", "filename_short": "contracts/utils/StableMath.sol", "is_dependency": false, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StableMath", "source_mapping": {"start": 285, "length": 3569, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/utils/StableMath.sol", "filename_relative": "contracts/utils/StableMath.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/utils/StableMath.sol", "filename_short": "contracts/utils/StableMath.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114], "starting_column": 1, "ending_column": 2}}, "signature": "scaleBy(uint256,uint256,uint256)"}}}}, {"type": "node", "name": "x = x.div(10 ** (from - to))", "source_mapping": {"start": 1008, "length": 26, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/utils/StableMath.sol", "filename_relative": "contracts/utils/StableMath.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/utils/StableMath.sol", "filename_short": "contracts/utils/StableMath.sol", "is_dependency": false, "lines": [35], "starting_column": 13, "ending_column": 39}, "type_specific_fields": {"parent": {"type": "function", "name": "scaleBy", "source_mapping": {"start": 781, "length": 288, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/utils/StableMath.sol", "filename_relative": "contracts/utils/StableMath.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/utils/StableMath.sol", "filename_short": "contracts/utils/StableMath.sol", "is_dependency": false, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StableMath", "source_mapping": {"start": 285, "length": 3569, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/utils/StableMath.sol", "filename_relative": "contracts/utils/StableMath.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/utils/StableMath.sol", "filename_short": "contracts/utils/StableMath.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114], "starting_column": 1, "ending_column": 2}}, "signature": "scaleBy(uint256,uint256,uint256)"}}}}], "description": "StableMath.scaleBy(uint256,uint256,uint256) (contracts/utils/StableMath.sol#27-38) performs a multiplication on the result of a division:\n\t-x = x.mul(10 ** (to - from)) (contracts/utils/StableMath.sol#33)\n\t-x = x.div(10 ** (from - to)) (contracts/utils/StableMath.sol#35)\n", "markdown": "[StableMath.scaleBy(uint256,uint256,uint256)](contracts/utils/StableMath.sol#L27-L38) performs a multiplication on the result of a division:\n\t-[x = x.mul(10 ** (to - from))](contracts/utils/StableMath.sol#L33)\n\t-[x = x.div(10 ** (from - to))](contracts/utils/StableMath.sol#L35)\n", "first_markdown_element": "contracts/utils/StableMath.sol#L27-L38", "id": "b1500b45d44a127aa3729dda962b0f1fad4c4141dfa4fb20f46e1148cf288944", "check": "divide-before-multiply", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "addSwapToken", "source_mapping": {"start": 7974, "length": 644, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultAdmin", "source_mapping": {"start": 527, "length": 18940, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577], "starting_column": 1, "ending_column": 2}}, "signature": "addSwapToken(address)"}}, {"type": "node", "name": "IOracle(priceProvider).price(_addr)", "source_mapping": {"start": 8261, "length": 35, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [243], "starting_column": 9, "ending_column": 44}, "type_specific_fields": {"parent": {"type": "function", "name": "addSwapToken", "source_mapping": {"start": 7974, "length": 644, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultAdmin", "source_mapping": {"start": 527, "length": 18940, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577], "starting_column": 1, "ending_column": 2}}, "signature": "addSwapToken(address)"}}}}], "description": "VaultAdmin.addSwapToken(address) (contracts/vault/VaultAdmin.sol#235-255) ignores return value by IOracle(priceProvider).price(_addr) (contracts/vault/VaultAdmin.sol#243)\n", "markdown": "[VaultAdmin.addSwapToken(address)](contracts/vault/VaultAdmin.sol#L235-L255) ignores return value by [IOracle(priceProvider).price(_addr)](contracts/vault/VaultAdmin.sol#L243)\n", "first_markdown_element": "contracts/vault/VaultAdmin.sol#L235-L255", "id": "62ac1769a2c1d54d7ea6660de35020316e5057588e99010c778d43e01aacf3e2", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "addSwapToken", "source_mapping": {"start": 7510, "length": 644, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultAdmin", "source_mapping": {"start": 527, "length": 18435, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "addSwapToken(address)"}}, {"type": "node", "name": "IOracle(priceProvider).price(_addr)", "source_mapping": {"start": 7797, "length": 35, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [231], "starting_column": 9, "ending_column": 44}, "type_specific_fields": {"parent": {"type": "function", "name": "addSwapToken", "source_mapping": {"start": 7510, "length": 644, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultAdmin", "source_mapping": {"start": 527, "length": 18435, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "addSwapToken(address)"}}}}], "description": "VaultAdmin.addSwapToken(address) (contracts/vault/VaultAdmin.sol#223-243) ignores return value by IOracle(priceProvider).price(_addr) (contracts/vault/VaultAdmin.sol#231)\n", "markdown": "[VaultAdmin.addSwapToken(address)](contracts/vault/VaultAdmin.sol#L223-L243) ignores return value by [IOracle(priceProvider).price(_addr)](contracts/vault/VaultAdmin.sol#L231)\n", "first_markdown_element": "contracts/vault/VaultAdmin.sol#L223-L243", "id": "9c71d10f9809eae2cbece0fe66259b93d8a7423a5a0e5362b2e132b55970c1a9", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_allocate", "source_mapping": {"start": 9273, "length": 4326, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 621, "length": 24503, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686], "starting_column": 1, "ending_column": 2}}, "signature": "_allocate()"}}, {"type": "node", "name": "IVault(address(this)).harvest(allStrategies[i])", "source_mapping": {"start": 10657, "length": 47, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [289], "starting_column": 25, "ending_column": 72}, "type_specific_fields": {"parent": {"type": "function", "name": "_allocate", "source_mapping": {"start": 9273, "length": 4326, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 621, "length": 24503, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686], "starting_column": 1, "ending_column": 2}}, "signature": "_allocate()"}}}}], "description": "VaultCore._allocate() (contracts/vault/VaultCore.sol#266-362) ignores return value by IVault(address(this)).harvest(allStrategies[i]) (contracts/vault/VaultCore.sol#289)\n", "markdown": "[VaultCore._allocate()](contracts/vault/VaultCore.sol#L266-L362) ignores return value by [IVault(address(this)).harvest(allStrategies[i])](contracts/vault/VaultCore.sol#L289)\n", "id": "14738114fda112fc8f37877cd29cc70a2cd815ef7bd1c03a5a0774ec1e219673", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "contract", "name": "InitializableAbstractStrategy", "source_mapping": {"start": 449, "length": 8364, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263], "starting_column": 1, "ending_column": 2}}, {"type": "node", "name": "assetsMapped.push(_asset)", "source_mapping": {"start": 6547, "length": 25, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [189], "starting_column": 9, "ending_column": 34}, "type_specific_fields": {"parent": {"type": "function", "name": "_setPTokenAddress", "source_mapping": {"start": 6231, "length": 438, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "InitializableAbstractStrategy", "source_mapping": {"start": 449, "length": 8364, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263], "starting_column": 1, "ending_column": 2}}, "signature": "_setPTokenAddress(address,address)"}}}}], "description": "InitializableAbstractStrategy (contracts/utils/InitializableAbstractStrategy.sol#11-263) contract sets array length with a user-controlled value:\n\t- assetsMapped.push(_asset) (contracts/utils/InitializableAbstractStrategy.sol#189)\n", "markdown": "[InitializableAbstractStrategy](contracts/utils/InitializableAbstractStrategy.sol#L11-L263) contract sets array length with a user-controlled value:\n\t- [assetsMapped.push(_asset)](contracts/utils/InitializableAbstractStrategy.sol#L189)\n", "id": "381ac16a09532b8a5dfd39a5d7c89b8a098eed32925b60281cbd3b0fcad4f990", "check": "controlled-array-length", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_allocate", "source_mapping": {"start": 9273, "length": 4326, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 621, "length": 24503, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686], "starting_column": 1, "ending_column": 2}}, "signature": "_allocate()"}}, {"type": "node", "name": "IVault(address(this)).harvest(allStrategies[i])", "source_mapping": {"start": 10027, "length": 47, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [278], "starting_column": 21, "ending_column": 68}, "type_specific_fields": {"parent": {"type": "function", "name": "_allocate", "source_mapping": {"start": 9273, "length": 4326, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 621, "length": 24503, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686], "starting_column": 1, "ending_column": 2}}, "signature": "_allocate()"}}}}], "description": "VaultCore._allocate() (contracts/vault/VaultCore.sol#266-362) ignores return value by IVault(address(this)).harvest(allStrategies[i]) (contracts/vault/VaultCore.sol#278)\n", "markdown": "[VaultCore._allocate()](contracts/vault/VaultCore.sol#L266-L362) ignores return value by [IVault(address(this)).harvest(allStrategies[i])](contracts/vault/VaultCore.sol#L278)\n", "id": "7e2dac8db9a46c3c11c5d4b3e04cb5233cb9693607e01c54045f05b7dae4fc76", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "contract", "name": "InitializableAbstractStrategy", "source_mapping": {"start": 392, "length": 8280, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259], "starting_column": 1, "ending_column": 2}}, {"type": "node", "name": "assetsMapped.push(_asset)", "source_mapping": {"start": 6406, "length": 25, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [185], "starting_column": 9, "ending_column": 34}, "type_specific_fields": {"parent": {"type": "function", "name": "_setPTokenAddress", "source_mapping": {"start": 6090, "length": 438, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [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": "InitializableAbstractStrategy", "source_mapping": {"start": 392, "length": 8280, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259], "starting_column": 1, "ending_column": 2}}, "signature": "_setPTokenAddress(address,address)"}}}}], "description": "InitializableAbstractStrategy (contracts/utils/InitializableAbstractStrategy.sol#10-259) contract sets array length with a user-controlled value:\n\t- assetsMapped.push(_asset) (contracts/utils/InitializableAbstractStrategy.sol#185)\n", "markdown": "[InitializableAbstractStrategy](contracts/utils/InitializableAbstractStrategy.sol#L10-L259) contract sets array length with a user-controlled value:\n\t- [assetsMapped.push(_asset)](contracts/utils/InitializableAbstractStrategy.sol#L185)\n", "id": "30b7d9aab47a66b59f74bd13941e813c3b5a5ae6448a3f7679c53e7ddbe332ae", "check": "controlled-array-length", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "contract", "name": "InitializableAbstractStrategy", "source_mapping": {"start": 392, "length": 7885, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249], "starting_column": 1, "ending_column": 2}}, {"type": "node", "name": "assetsMapped.push(_asset)", "source_mapping": {"start": 6011, "length": 25, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [175], "starting_column": 9, "ending_column": 34}, "type_specific_fields": {"parent": {"type": "function", "name": "_setPTokenAddress", "source_mapping": {"start": 5695, "length": 438, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "InitializableAbstractStrategy", "source_mapping": {"start": 392, "length": 7885, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249], "starting_column": 1, "ending_column": 2}}, "signature": "_setPTokenAddress(address,address)"}}}}], "description": "InitializableAbstractStrategy (contracts/utils/InitializableAbstractStrategy.sol#10-249) contract sets array length with a user-controlled value:\n\t- assetsMapped.push(_asset) (contracts/utils/InitializableAbstractStrategy.sol#175)\n", "markdown": "[InitializableAbstractStrategy](contracts/utils/InitializableAbstractStrategy.sol#L10-L249) contract sets array length with a user-controlled value:\n\t- [assetsMapped.push(_asset)](contracts/utils/InitializableAbstractStrategy.sol#L175)\n", "id": "4768a672e113dfcc66a3411dcecbb416a83238a54329eb946079711430f271a2", "check": "controlled-array-length", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_allocate", "source_mapping": {"start": 9261, "length": 3882, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 621, "length": 24145, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678], "starting_column": 1, "ending_column": 2}}, "signature": "_allocate()"}}, {"type": "node", "name": "assetBalance == 0", "source_mapping": {"start": 10940, "length": 17, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [302], "starting_column": 17, "ending_column": 34}, "type_specific_fields": {"parent": {"type": "function", "name": "_allocate", "source_mapping": {"start": 9261, "length": 3882, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 621, "length": 24145, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678], "starting_column": 1, "ending_column": 2}}, "signature": "_allocate()"}}}}], "description": "VaultCore._allocate() (contracts/vault/VaultCore.sol#265-351) uses a dangerous strict equality:\n\t- assetBalance == 0 (contracts/vault/VaultCore.sol#302)\n", "markdown": "[VaultCore._allocate()](contracts/vault/VaultCore.sol#L265-L351) uses a dangerous strict equality:\n\t- [assetBalance == 0](contracts/vault/VaultCore.sol#L302)\n", "id": "68299d4d220bd6c43bb5621c4879a0d491e7543f1165aecf84c78d5c75097361", "check": "incorrect-equality", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "function", "name": "swap", "source_mapping": {"start": 2267, "length": 626, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/buyback/BuybackConstructor.sol", "filename_relative": "contracts/buyback/BuybackConstructor.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/buyback/BuybackConstructor.sol", "filename_short": "contracts/buyback/BuybackConstructor.sol", "is_dependency": false, "lines": [73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BuybackConstructor", "source_mapping": {"start": 319, "length": 2850, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/buyback/BuybackConstructor.sol", "filename_relative": "contracts/buyback/BuybackConstructor.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/buyback/BuybackConstructor.sol", "filename_short": "contracts/buyback/BuybackConstructor.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 1, "ending_column": 2}}, "signature": "swap()"}}, {"type": "node", "name": "IUniswapV2Router(uniswapAddr).swapExactTokensForTokens(sourceAmount,uint256(0),path,address(this),now)", "source_mapping": {"start": 2710, "length": 176, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/buyback/BuybackConstructor.sol", "filename_relative": "contracts/buyback/BuybackConstructor.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/buyback/BuybackConstructor.sol", "filename_short": "contracts/buyback/BuybackConstructor.sol", "is_dependency": false, "lines": [85, 86, 87, 88, 89, 90, 91], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "swap", "source_mapping": {"start": 2267, "length": 626, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/buyback/BuybackConstructor.sol", "filename_relative": "contracts/buyback/BuybackConstructor.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/buyback/BuybackConstructor.sol", "filename_short": "contracts/buyback/BuybackConstructor.sol", "is_dependency": false, "lines": [73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BuybackConstructor", "source_mapping": {"start": 319, "length": 2850, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/buyback/BuybackConstructor.sol", "filename_relative": "contracts/buyback/BuybackConstructor.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/buyback/BuybackConstructor.sol", "filename_short": "contracts/buyback/BuybackConstructor.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 1, "ending_column": 2}}, "signature": "swap()"}}}}], "description": "BuybackConstructor.swap() (contracts/buyback/BuybackConstructor.sol#73-92) ignores return value by IUniswapV2Router(uniswapAddr).swapExactTokensForTokens(sourceAmount,uint256(0),path,address(this),now) (contracts/buyback/BuybackConstructor.sol#85-91)\n", "markdown": "[BuybackConstructor.swap()](contracts/buyback/BuybackConstructor.sol#L73-L92) ignores return value by [IUniswapV2Router(uniswapAddr).swapExactTokensForTokens(sourceAmount,uint256(0),path,address(this),now)](contracts/buyback/BuybackConstructor.sol#L85-L91)\n", "id": "3cc3f6a6db631431fed154ac7a026944735135574cc350ab5b7af20075adf2bc", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "trusteeAddress", "source_mapping": {"start": 3698, "length": 29, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [101], "starting_column": 5, "ending_column": 34}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 807, "length": 3487, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120], "starting_column": 1, "ending_column": 2}}}}, {"type": "function", "name": "_allocate", "source_mapping": {"start": 9506, "length": 3882, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 621, "length": 24302, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681], "starting_column": 1, "ending_column": 2}}, "signature": "_allocate()"}}, {"type": "function", "name": "_rebase", "source_mapping": {"start": 13841, "length": 953, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [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], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 621, "length": 24302, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681], "starting_column": 1, "ending_column": 2}}, "signature": "_rebase()"}}], "description": "VaultStorage.trusteeAddress (contracts/vault/VaultStorage.sol#101) is never initialized. It is used in:\n\t- VaultCore._allocate() (contracts/vault/VaultCore.sol#271-357)\n\t- VaultCore._rebase() (contracts/vault/VaultCore.sol#372-396)\n", "markdown": "[VaultStorage.trusteeAddress](contracts/vault/VaultStorage.sol#L101) is never initialized. It is used in:\n\t- [VaultCore._allocate()](contracts/vault/VaultCore.sol#L271-L357)\n\t- [VaultCore._rebase()](contracts/vault/VaultCore.sol#L372-L396)\n", "id": "65e007df44c00b192cdedf6acb4c0c396774b55569e66aa864570ff224919500", "check": "uninitialized-state", "impact": "High", "confidence": "High"}, {"elements": [{"type": "function", "name": "_allocate", "source_mapping": {"start": 9506, "length": 3882, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 621, "length": 24302, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681], "starting_column": 1, "ending_column": 2}}, "signature": "_allocate()"}}, {"type": "node", "name": "assetBalance == 0", "source_mapping": {"start": 11185, "length": 17, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [308], "starting_column": 17, "ending_column": 34}, "type_specific_fields": {"parent": {"type": "function", "name": "_allocate", "source_mapping": {"start": 9506, "length": 3882, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 621, "length": 24302, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681], "starting_column": 1, "ending_column": 2}}, "signature": "_allocate()"}}}}], "description": "VaultCore._allocate() (contracts/vault/VaultCore.sol#271-357) uses a dangerous strict equality:\n\t- assetBalance == 0 (contracts/vault/VaultCore.sol#308)\n", "markdown": "[VaultCore._allocate()](contracts/vault/VaultCore.sol#L271-L357) uses a dangerous strict equality:\n\t- [assetBalance == 0](contracts/vault/VaultCore.sol#L308)\n", "id": "3cdb474d424497377560f2617a225571d094bc5a4d9068ed28cc039cf36bb0a9", "check": "incorrect-equality", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "function", "name": "swap", "source_mapping": {"start": 1716, "length": 626, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.sol", "is_dependency": false, "lines": [54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Buyback", "source_mapping": {"start": 319, "length": 2299, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85], "starting_column": 1, "ending_column": 2}}, "signature": "swap()"}}, {"type": "node", "name": "IUniswapV2Router(uniswapAddr).swapExactTokensForTokens(sourceAmount,uint256(0),path,address(this),now)", "source_mapping": {"start": 2159, "length": 176, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.sol", "is_dependency": false, "lines": [66, 67, 68, 69, 70, 71, 72], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "swap", "source_mapping": {"start": 1716, "length": 626, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.sol", "is_dependency": false, "lines": [54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Buyback", "source_mapping": {"start": 319, "length": 2299, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85], "starting_column": 1, "ending_column": 2}}, "signature": "swap()"}}}}], "description": "Buyback.swap() (contracts/buyback/Buyback.sol#54-73) ignores return value by IUniswapV2Router(uniswapAddr).swapExactTokensForTokens(sourceAmount,uint256(0),path,address(this),now) (contracts/buyback/Buyback.sol#66-72)\n", "markdown": "[Buyback.swap()](contracts/buyback/Buyback.sol#L54-L73) ignores return value by [IUniswapV2Router(uniswapAddr).swapExactTokensForTokens(sourceAmount,uint256(0),path,address(this),now)](contracts/buyback/Buyback.sol#L66-L72)\n", "id": "4ced8a08a7a10442a6b73bc497693399dcb3627d49d0ffbe3233d32187059cba", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_allocate", "source_mapping": {"start": 9451, "length": 3809, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 566, "length": 24229, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677], "starting_column": 1, "ending_column": 2}}, "signature": "_allocate()"}}, {"type": "node", "name": "assetBalance == 0", "source_mapping": {"start": 11130, "length": 17, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [307], "starting_column": 17, "ending_column": 34}, "type_specific_fields": {"parent": {"type": "function", "name": "_allocate", "source_mapping": {"start": 9451, "length": 3809, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 566, "length": 24229, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677], "starting_column": 1, "ending_column": 2}}, "signature": "_allocate()"}}}}], "description": "VaultCore._allocate() (contracts/vault/VaultCore.sol#270-353) uses a dangerous strict equality:\n\t- assetBalance == 0 (contracts/vault/VaultCore.sol#307)\n", "markdown": "[VaultCore._allocate()](contracts/vault/VaultCore.sol#L270-L353) uses a dangerous strict equality:\n\t- [assetBalance == 0](contracts/vault/VaultCore.sol#L307)\n", "id": "67337dd8b3da36d12ebd0856bc1dd88acd22e740abd8d2e6e33a46a1d187e940", "check": "incorrect-equality", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "contract", "name": "Tether", "source_mapping": {"start": 402, "length": 248, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/flipper/Flipper.sol", "filename_relative": "contracts/flipper/Flipper.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/flipper/Flipper.sol", "filename_short": "contracts/flipper/Flipper.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23], "starting_column": 1, "ending_column": 2}}, {"type": "function", "name": "transfer", "source_mapping": {"start": 425, "length": 54, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/flipper/Flipper.sol", "filename_relative": "contracts/flipper/Flipper.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/flipper/Flipper.sol", "filename_short": "contracts/flipper/Flipper.sol", "is_dependency": false, "lines": [14], "starting_column": 5, "ending_column": 59}, "type_specific_fields": {"parent": {"type": "contract", "name": "Tether", "source_mapping": {"start": 402, "length": 248, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/flipper/Flipper.sol", "filename_relative": "contracts/flipper/Flipper.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/flipper/Flipper.sol", "filename_short": "contracts/flipper/Flipper.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23], "starting_column": 1, "ending_column": 2}}, "signature": "transfer(address,uint256)"}}], "description": "Tether (contracts/flipper/Flipper.sol#13-23) has incorrect ERC20 function interface:Tether.transfer(address,uint256) (contracts/flipper/Flipper.sol#14)\n", "markdown": "[Tether](contracts/flipper/Flipper.sol#L13-L23) has incorrect ERC20 function interface:[Tether.transfer(address,uint256)](contracts/flipper/Flipper.sol#L14)\n", "id": "e2f2abe06f3b5a5408c2013e6c7749baa5ffc112491baf17fb7381de0160bf62", "check": "erc20-interface", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "contract", "name": "Tether", "source_mapping": {"start": 402, "length": 248, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/flipper/Flipper.sol", "filename_relative": "contracts/flipper/Flipper.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/flipper/Flipper.sol", "filename_short": "contracts/flipper/Flipper.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23], "starting_column": 1, "ending_column": 2}}, {"type": "function", "name": "transferFrom", "source_mapping": {"start": 485, "length": 102, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/flipper/Flipper.sol", "filename_relative": "contracts/flipper/Flipper.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/flipper/Flipper.sol", "filename_short": "contracts/flipper/Flipper.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20], "starting_column": 5, "ending_column": 16}, "type_specific_fields": {"parent": {"type": "contract", "name": "Tether", "source_mapping": {"start": 402, "length": 248, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/flipper/Flipper.sol", "filename_relative": "contracts/flipper/Flipper.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/flipper/Flipper.sol", "filename_short": "contracts/flipper/Flipper.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23], "starting_column": 1, "ending_column": 2}}, "signature": "transferFrom(address,address,uint256)"}}], "description": "Tether (contracts/flipper/Flipper.sol#13-23) has incorrect ERC20 function interface:Tether.transferFrom(address,address,uint256) (contracts/flipper/Flipper.sol#16-20)\n", "markdown": "[Tether](contracts/flipper/Flipper.sol#L13-L23) has incorrect ERC20 function interface:[Tether.transferFrom(address,address,uint256)](contracts/flipper/Flipper.sol#L16-L20)\n", "id": "3ba32686b3afe7766e203671652c46578ceb76551174eb1d20789241a114e5db", "check": "erc20-interface", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "contract", "name": "InitializableAbstractStrategy", "source_mapping": {"start": 396, "length": 7885, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251], "starting_column": 1, "ending_column": 2}}, {"type": "node", "name": "assetsMapped.push(_asset)", "source_mapping": {"start": 6016, "length": 25, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [177], "starting_column": 9, "ending_column": 34}, "type_specific_fields": {"parent": {"type": "function", "name": "_setPTokenAddress", "source_mapping": {"start": 5700, "length": 438, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "InitializableAbstractStrategy", "source_mapping": {"start": 396, "length": 7885, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251], "starting_column": 1, "ending_column": 2}}, "signature": "_setPTokenAddress(address,address)"}}}}], "description": "InitializableAbstractStrategy (contracts/utils/InitializableAbstractStrategy.sol#12-251) contract sets array length with a user-controlled value:\n\t- assetsMapped.push(_asset) (contracts/utils/InitializableAbstractStrategy.sol#177)\n", "markdown": "[InitializableAbstractStrategy](contracts/utils/InitializableAbstractStrategy.sol#L12-L251) contract sets array length with a user-controlled value:\n\t- [assetsMapped.push(_asset)](contracts/utils/InitializableAbstractStrategy.sol#L177)\n", "id": "df38af393431fdde0ef600ae1071c57ca43fd15a0015a0d24d83245f0a52a803", "check": "controlled-array-length", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_deposit", "source_mapping": {"start": 1736, "length": 293, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [53, 54, 55, 56, 57, 58], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompoundStrategy", "source_mapping": {"start": 382, "length": 7749, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221], "starting_column": 1, "ending_column": 2}}, "signature": "_deposit(address,uint256)"}}, {"type": "node", "name": "require(bool,string)(cToken.mint(_amount) == 0,cToken mint failed)", "source_mapping": {"start": 1966, "length": 56, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [57], "starting_column": 9, "ending_column": 65}, "type_specific_fields": {"parent": {"type": "function", "name": "_deposit", "source_mapping": {"start": 1736, "length": 293, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [53, 54, 55, 56, 57, 58], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompoundStrategy", "source_mapping": {"start": 382, "length": 7749, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221], "starting_column": 1, "ending_column": 2}}, "signature": "_deposit(address,uint256)"}}}}], "description": "CompoundStrategy._deposit(address,uint256) (contracts/strategies/CompoundStrategy.sol#53-58) uses a dangerous strict equality:\n\t- require(bool,string)(cToken.mint(_amount) == 0,cToken mint failed) (contracts/strategies/CompoundStrategy.sol#57)\n", "markdown": "[CompoundStrategy._deposit(address,uint256)](contracts/strategies/CompoundStrategy.sol#L53-L58) uses a dangerous strict equality:\n\t- [require(bool,string)(cToken.mint(_amount) == 0,cToken mint failed)](contracts/strategies/CompoundStrategy.sol#L57)\n", "id": "7cadb11ad19feb7b0494f84f47faae7b851c89d2098787519c17eda83d7f73d6", "check": "incorrect-equality", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "function", "name": "withdrawAll", "source_mapping": {"start": 3595, "length": 720, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompoundStrategy", "source_mapping": {"start": 382, "length": 7749, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221], "starting_column": 1, "ending_column": 2}}, "signature": "withdrawAll()"}}, {"type": "node", "name": "require(bool,string)(cToken.redeem(cToken.balanceOf(address(this))) == 0,Redeem failed)", "source_mapping": {"start": 3901, "length": 135, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [108, 109, 110, 111], "starting_column": 17, "ending_column": 18}, "type_specific_fields": {"parent": {"type": "function", "name": "withdrawAll", "source_mapping": {"start": 3595, "length": 720, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompoundStrategy", "source_mapping": {"start": 382, "length": 7749, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221], "starting_column": 1, "ending_column": 2}}, "signature": "withdrawAll()"}}}}], "description": "CompoundStrategy.withdrawAll() (contracts/strategies/CompoundStrategy.sol#103-120) uses a dangerous strict equality:\n\t- require(bool,string)(cToken.redeem(cToken.balanceOf(address(this))) == 0,Redeem failed) (contracts/strategies/CompoundStrategy.sol#108-111)\n", "markdown": "[CompoundStrategy.withdrawAll()](contracts/strategies/CompoundStrategy.sol#L103-L120) uses a dangerous strict equality:\n\t- [require(bool,string)(cToken.redeem(cToken.balanceOf(address(this))) == 0,Redeem failed)](contracts/strategies/CompoundStrategy.sol#L108-L111)\n", "id": "d32d63d9464f5701e2db9f5630c6fce80c9c5404aeecf34e08b2860fbca2e756", "check": "incorrect-equality", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "variable", "name": "trusteeFeeBps", "source_mapping": {"start": 3782, "length": 28, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [104], "starting_column": 5, "ending_column": 33}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 807, "length": 3486, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120], "starting_column": 1, "ending_column": 2}}}}, {"type": "function", "name": "_rebase", "source_mapping": {"start": 13775, "length": 953, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [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], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 578, "length": 24561, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686], "starting_column": 1, "ending_column": 2}}, "signature": "_rebase()"}}], "description": "VaultStorage.trusteeFeeBps (contracts/vault/VaultStorage.sol#104) is never initialized. It is used in:\n\t- VaultCore._rebase() (contracts/vault/VaultCore.sol#370-394)\n", "markdown": "[VaultStorage.trusteeFeeBps](contracts/vault/VaultStorage.sol#L104) is never initialized. It is used in:\n\t- [VaultCore._rebase()](contracts/vault/VaultCore.sol#L370-L394)\n", "id": "6026824a262c80dba27267266bd932f6ced8a0ab28731a229e2747099e556a33", "check": "uninitialized-state", "impact": "High", "confidence": "High"}, {"elements": [{"type": "variable", "name": "trusteeAddress", "source_mapping": {"start": 3699, "length": 29, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [101], "starting_column": 5, "ending_column": 34}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 807, "length": 3490, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120], "starting_column": 1, "ending_column": 2}}}}, {"type": "function", "name": "_rebase", "source_mapping": {"start": 13871, "length": 960, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [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], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 578, "length": 24664, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688], "starting_column": 1, "ending_column": 2}}, "signature": "_rebase()"}}], "description": "VaultStorage.trusteeAddress (contracts/vault/VaultStorage.sol#101) is never initialized. It is used in:\n\t- VaultCore._rebase() (contracts/vault/VaultCore.sol#372-396)\n", "markdown": "[VaultStorage.trusteeAddress](contracts/vault/VaultStorage.sol#L101) is never initialized. It is used in:\n\t- [VaultCore._rebase()](contracts/vault/VaultCore.sol#L372-L396)\n", "id": "38c6f1922de1e66b8be48d1e73897a517a266abf443487b0429c6d6070aa67d7", "check": "uninitialized-state", "impact": "High", "confidence": "High"}, {"elements": [{"type": "variable", "name": "trusteeFeeBasis", "source_mapping": {"start": 3784, "length": 30, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [104], "starting_column": 5, "ending_column": 35}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 807, "length": 3490, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120], "starting_column": 1, "ending_column": 2}}}}, {"type": "function", "name": "_rebase", "source_mapping": {"start": 13871, "length": 960, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [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], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 578, "length": 24664, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688], "starting_column": 1, "ending_column": 2}}, "signature": "_rebase()"}}], "description": "VaultStorage.trusteeFeeBasis (contracts/vault/VaultStorage.sol#104) is never initialized. It is used in:\n\t- VaultCore._rebase() (contracts/vault/VaultCore.sol#372-396)\n", "markdown": "[VaultStorage.trusteeFeeBasis](contracts/vault/VaultStorage.sol#L104) is never initialized. It is used in:\n\t- [VaultCore._rebase()](contracts/vault/VaultCore.sol#L372-L396)\n", "id": "3f7908a03d07c1a38ed6e02e0e85b2e0e3e7b96dcad11d66ac62102edf3951f9", "check": "uninitialized-state", "impact": "High", "confidence": "High"}, {"elements": [{"type": "function", "name": "scaleBy", "source_mapping": {"start": 734, "length": 308, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/StableMath.sol", "filename_relative": "contracts/utils/StableMath.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/StableMath.sol", "filename_short": "contracts/utils/StableMath.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StableMath", "source_mapping": {"start": 242, "length": 3585, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/StableMath.sol", "filename_relative": "contracts/utils/StableMath.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/StableMath.sol", "filename_short": "contracts/utils/StableMath.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112], "starting_column": 1, "ending_column": 2}}, "signature": "scaleBy(uint256,int8)"}}, {"type": "node", "name": "x = x.mul(10 ** uint256(adjustment))", "source_mapping": {"start": 883, "length": 34, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/StableMath.sol", "filename_relative": "contracts/utils/StableMath.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/StableMath.sol", "filename_short": "contracts/utils/StableMath.sol", "is_dependency": false, "lines": [31], "starting_column": 13, "ending_column": 47}, "type_specific_fields": {"parent": {"type": "function", "name": "scaleBy", "source_mapping": {"start": 734, "length": 308, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/StableMath.sol", "filename_relative": "contracts/utils/StableMath.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/StableMath.sol", "filename_short": "contracts/utils/StableMath.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StableMath", "source_mapping": {"start": 242, "length": 3585, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/StableMath.sol", "filename_relative": "contracts/utils/StableMath.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/StableMath.sol", "filename_short": "contracts/utils/StableMath.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112], "starting_column": 1, "ending_column": 2}}, "signature": "scaleBy(uint256,int8)"}}}}, {"type": "node", "name": "x = x.div(10 ** uint256(adjustment * - 1))", "source_mapping": {"start": 968, "length": 39, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/StableMath.sol", "filename_relative": "contracts/utils/StableMath.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/StableMath.sol", "filename_short": "contracts/utils/StableMath.sol", "is_dependency": false, "lines": [33], "starting_column": 13, "ending_column": 52}, "type_specific_fields": {"parent": {"type": "function", "name": "scaleBy", "source_mapping": {"start": 734, "length": 308, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/StableMath.sol", "filename_relative": "contracts/utils/StableMath.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/StableMath.sol", "filename_short": "contracts/utils/StableMath.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StableMath", "source_mapping": {"start": 242, "length": 3585, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/StableMath.sol", "filename_relative": "contracts/utils/StableMath.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/StableMath.sol", "filename_short": "contracts/utils/StableMath.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112], "starting_column": 1, "ending_column": 2}}, "signature": "scaleBy(uint256,int8)"}}}}], "description": "StableMath.scaleBy(uint256,int8) (contracts/utils/StableMath.sol#25-36) performs a multiplication on the result of a division:\n\t-x = x.mul(10 ** uint256(adjustment)) (contracts/utils/StableMath.sol#31)\n\t-x = x.div(10 ** uint256(adjustment * - 1)) (contracts/utils/StableMath.sol#33)\n", "markdown": "[StableMath.scaleBy(uint256,int8)](contracts/utils/StableMath.sol#L25-L36) performs a multiplication on the result of a division:\n\t-[x = x.mul(10 ** uint256(adjustment))](contracts/utils/StableMath.sol#L31)\n\t-[x = x.div(10 ** uint256(adjustment * - 1))](contracts/utils/StableMath.sol#L33)\n", "id": "db2ef8c1daf9b02deedbcc86671a36b6336566289f0ec3f91ff45f5afe31fd91", "check": "divide-before-multiply", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "withdrawAll", "source_mapping": {"start": 2862, "length": 720, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompoundStrategy", "source_mapping": {"start": 382, "length": 7016, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [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], "starting_column": 1, "ending_column": 2}}, "signature": "withdrawAll()"}}, {"type": "node", "name": "require(bool,string)(cToken.redeem(cToken.balanceOf(address(this))) == 0,Redeem failed)", "source_mapping": {"start": 3168, "length": 135, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [87, 88, 89, 90], "starting_column": 17, "ending_column": 18}, "type_specific_fields": {"parent": {"type": "function", "name": "withdrawAll", "source_mapping": {"start": 2862, "length": 720, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompoundStrategy", "source_mapping": {"start": 382, "length": 7016, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [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], "starting_column": 1, "ending_column": 2}}, "signature": "withdrawAll()"}}}}], "description": "CompoundStrategy.withdrawAll() (contracts/strategies/CompoundStrategy.sol#82-99) uses a dangerous strict equality:\n\t- require(bool,string)(cToken.redeem(cToken.balanceOf(address(this))) == 0,Redeem failed) (contracts/strategies/CompoundStrategy.sol#87-90)\n", "markdown": "[CompoundStrategy.withdrawAll()](contracts/strategies/CompoundStrategy.sol#L82-L99) uses a dangerous strict equality:\n\t- [require(bool,string)(cToken.redeem(cToken.balanceOf(address(this))) == 0,Redeem failed)](contracts/strategies/CompoundStrategy.sol#L87-L90)\n", "id": "5dce02849df598583a9b3a98ec07f6415c6f4d1dac892a6807845e3f68e3f38f", "check": "incorrect-equality", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "function", "name": "balanceOf", "source_mapping": {"start": 2744, "length": 223, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [83, 84, 85, 86, 87], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OUSD", "source_mapping": {"start": 829, "length": 17607, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 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], "starting_column": 1, "ending_column": 2}}, "signature": "balanceOf(address)"}}, {"type": "node", "name": "_creditBalances[_account] == 0", "source_mapping": {"start": 2825, "length": 30, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [84], "starting_column": 13, "ending_column": 43}, "type_specific_fields": {"parent": {"type": "function", "name": "balanceOf", "source_mapping": {"start": 2744, "length": 223, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [83, 84, 85, 86, 87], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OUSD", "source_mapping": {"start": 829, "length": 17607, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 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], "starting_column": 1, "ending_column": 2}}, "signature": "balanceOf(address)"}}}}], "description": "OUSD.balanceOf(address) (contracts/token/OUSD.sol#83-87) uses a dangerous strict equality:\n\t- _creditBalances[_account] == 0 (contracts/token/OUSD.sol#84)\n", "markdown": "[OUSD.balanceOf(address)](contracts/token/OUSD.sol#L83-L87) uses a dangerous strict equality:\n\t- [_creditBalances[_account] == 0](contracts/token/OUSD.sol#L84)\n", "id": "ccb46234e07af49545e8f6ec6328d958fa1c2f6c5bc4170dbf99f57e4003ebeb", "check": "incorrect-equality", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "function", "name": "balanceOf", "source_mapping": {"start": 2849, "length": 223, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [87, 88, 89, 90, 91], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OUSD", "source_mapping": {"start": 829, "length": 16903, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 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], "starting_column": 1, "ending_column": 2}}, "signature": "balanceOf(address)"}}, {"type": "node", "name": "_creditBalances[_account] == 0", "source_mapping": {"start": 2930, "length": 30, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [88], "starting_column": 13, "ending_column": 43}, "type_specific_fields": {"parent": {"type": "function", "name": "balanceOf", "source_mapping": {"start": 2849, "length": 223, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [87, 88, 89, 90, 91], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OUSD", "source_mapping": {"start": 829, "length": 16903, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 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], "starting_column": 1, "ending_column": 2}}, "signature": "balanceOf(address)"}}}}], "description": "OUSD.balanceOf(address) (contracts/token/OUSD.sol#87-91) uses a dangerous strict equality:\n\t- _creditBalances[_account] == 0 (contracts/token/OUSD.sol#88)\n", "markdown": "[OUSD.balanceOf(address)](contracts/token/OUSD.sol#L87-L91) uses a dangerous strict equality:\n\t- [_creditBalances[_account] == 0](contracts/token/OUSD.sol#L88)\n", "id": "ac0ff05bcf967595b64b2a24b53884cfca5e30e06792da3ba40104ab169d77a4", "check": "incorrect-equality", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "contract", "name": "InitializableAbstractStrategy", "source_mapping": {"start": 396, "length": 8222, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262], "starting_column": 1, "ending_column": 2}}, {"type": "node", "name": "assetsMapped.push(_asset)", "source_mapping": {"start": 6476, "length": 25, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [193], "starting_column": 9, "ending_column": 34}, "type_specific_fields": {"parent": {"type": "function", "name": "_setPTokenAddress", "source_mapping": {"start": 6160, "length": 438, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "InitializableAbstractStrategy", "source_mapping": {"start": 396, "length": 8222, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262], "starting_column": 1, "ending_column": 2}}, "signature": "_setPTokenAddress(address,address)"}}}}], "description": "InitializableAbstractStrategy (contracts/utils/InitializableAbstractStrategy.sol#12-262) contract sets array length with a user-controlled value:\n\t- assetsMapped.push(_asset) (contracts/utils/InitializableAbstractStrategy.sol#193)\n", "markdown": "[InitializableAbstractStrategy](contracts/utils/InitializableAbstractStrategy.sol#L12-L262) contract sets array length with a user-controlled value:\n\t- [assetsMapped.push(_asset)](contracts/utils/InitializableAbstractStrategy.sol#L193)\n", "id": "e99c44d951e76857b3f5bfc5cdccca773021441bfde515673b7eccdad421c7e3", "check": "controlled-array-length", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "executeTransaction", "source_mapping": {"start": 4393, "length": 1470, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/timelock/MinuteTimelock.sol", "filename_relative": "contracts/timelock/MinuteTimelock.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/timelock/MinuteTimelock.sol", "filename_short": "contracts/timelock/MinuteTimelock.sol", "is_dependency": false, "lines": [160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 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": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MinuteTimelock", "source_mapping": {"start": 300, "length": 5733, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/timelock/MinuteTimelock.sol", "filename_relative": "contracts/timelock/MinuteTimelock.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/timelock/MinuteTimelock.sol", "filename_short": "contracts/timelock/MinuteTimelock.sol", "is_dependency": false, "lines": [11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214], "starting_column": 1, "ending_column": 2}}, "signature": "executeTransaction(address,uint256,string,bytes,uint256)"}}, {"type": "node", "name": "(success,returnData) = target.call.value(value)(callData)", "source_mapping": {"start": 5526, "length": 98, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/timelock/MinuteTimelock.sol", "filename_relative": "contracts/timelock/MinuteTimelock.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/timelock/MinuteTimelock.sol", "filename_short": "contracts/timelock/MinuteTimelock.sol", "is_dependency": false, "lines": [197, 198, 199], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "executeTransaction", "source_mapping": {"start": 4393, "length": 1470, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/timelock/MinuteTimelock.sol", "filename_relative": "contracts/timelock/MinuteTimelock.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/timelock/MinuteTimelock.sol", "filename_short": "contracts/timelock/MinuteTimelock.sol", "is_dependency": false, "lines": [160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 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": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MinuteTimelock", "source_mapping": {"start": 300, "length": 5733, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/timelock/MinuteTimelock.sol", "filename_relative": "contracts/timelock/MinuteTimelock.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/timelock/MinuteTimelock.sol", "filename_short": "contracts/timelock/MinuteTimelock.sol", "is_dependency": false, "lines": [11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214], "starting_column": 1, "ending_column": 2}}, "signature": "executeTransaction(address,uint256,string,bytes,uint256)"}}}}], "description": "MinuteTimelock.executeTransaction(address,uint256,string,bytes,uint256) (contracts/timelock/MinuteTimelock.sol#160-208) sends eth to arbitrary user\n\tDangerous calls:\n\t- (success,returnData) = target.call.value(value)(callData) (contracts/timelock/MinuteTimelock.sol#197-199)\n", "markdown": "[MinuteTimelock.executeTransaction(address,uint256,string,bytes,uint256)](contracts/timelock/MinuteTimelock.sol#L160-L208) sends eth to arbitrary user\n\tDangerous calls:\n\t- [(success,returnData) = target.call.value(value)(callData)](contracts/timelock/MinuteTimelock.sol#L197-L199)\n", "id": "adb27b2223ce1f61a53972f79799586ca089e9afc5f2eacfe3b6af935426ae32", "check": "arbitrary-send", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "assets", "source_mapping": {"start": 1854, "length": 32, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [51], "starting_column": 5, "ending_column": 37}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 738, "length": 3013, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106], "starting_column": 1, "ending_column": 2}}}}, {"type": "function", "name": "mint", "source_mapping": {"start": 1313, "length": 1551, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 578, "length": 23987, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680], "starting_column": 1, "ending_column": 2}}, "signature": "mint(address,uint256,uint256)"}}, {"type": "function", "name": "mintMultiple", "source_mapping": {"start": 3165, "length": 2120, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 578, "length": 23987, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680], "starting_column": 1, "ending_column": 2}}, "signature": "mintMultiple(address[],uint256[],uint256)"}}, {"type": "function", "name": "isSupportedAsset", "source_mapping": {"start": 23379, "length": 121, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [647, 648, 649], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 578, "length": 23987, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680], "starting_column": 1, "ending_column": 2}}, "signature": "isSupportedAsset(address)"}}], "description": "VaultStorage.assets (contracts/vault/VaultStorage.sol#51) is never initialized. It is used in:\n\t- VaultCore.mint(address,uint256,uint256) (contracts/vault/VaultCore.sol#42-87)\n\t- VaultCore.mintMultiple(address[],uint256[],uint256) (contracts/vault/VaultCore.sol#96-153)\n\t- VaultCore.isSupportedAsset(address) (contracts/vault/VaultCore.sol#647-649)\n", "markdown": "[VaultStorage.assets](contracts/vault/VaultStorage.sol#L51) is never initialized. It is used in:\n\t- [VaultCore.mint(address,uint256,uint256)](contracts/vault/VaultCore.sol#L42-L87)\n\t- [VaultCore.mintMultiple(address[],uint256[],uint256)](contracts/vault/VaultCore.sol#L96-L153)\n\t- [VaultCore.isSupportedAsset(address)](contracts/vault/VaultCore.sol#L647-L649)\n", "id": "b5f535d2516b1f696e381fc7ef334ac08dab475e61c7fd193ef8eb0498172128", "check": "uninitialized-state", "impact": "High", "confidence": "High"}, {"elements": [{"type": "variable", "name": "allAssets", "source_mapping": {"start": 1892, "length": 19, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [52], "starting_column": 5, "ending_column": 24}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 738, "length": 3013, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106], "starting_column": 1, "ending_column": 2}}}}, {"type": "function", "name": "mintMultiple", "source_mapping": {"start": 3165, "length": 2120, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 578, "length": 23987, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680], "starting_column": 1, "ending_column": 2}}, "signature": "mintMultiple(address[],uint256[],uint256)"}}, {"type": "function", "name": "_redeem", "source_mapping": {"start": 5959, "length": 2568, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 578, "length": 23987, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680], "starting_column": 1, "ending_column": 2}}, "signature": "_redeem(uint256,uint256)"}}, {"type": "function", "name": "_allocate", "source_mapping": {"start": 9491, "length": 3809, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 578, "length": 23987, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680], "starting_column": 1, "ending_column": 2}}, "signature": "_allocate()"}}, {"type": "function", "name": "_totalValueInVault", "source_mapping": {"start": 14993, "length": 456, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 578, "length": 23987, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680], "starting_column": 1, "ending_column": 2}}, "signature": "_totalValueInVault()"}}, {"type": "function", "name": "_totalValueInStrategy", "source_mapping": {"start": 16033, "length": 605, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 578, "length": 23987, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680], "starting_column": 1, "ending_column": 2}}, "signature": "_totalValueInStrategy(address)"}}, {"type": "function", "name": "_checkBalance", "source_mapping": {"start": 17760, "length": 347, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [491, 492, 493, 494, 495, 496, 497, 498, 499], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 578, "length": 23987, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680], "starting_column": 1, "ending_column": 2}}, "signature": "_checkBalance()"}}, {"type": "function", "name": "_calculateRedeemOutputs", "source_mapping": {"start": 18615, "length": 3196, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 578, "length": 23987, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680], "starting_column": 1, "ending_column": 2}}, "signature": "_calculateRedeemOutputs(uint256)"}}, {"type": "function", "name": "_getAssetPrices", "source_mapping": {"start": 21960, "length": 754, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 578, "length": 23987, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680], "starting_column": 1, "ending_column": 2}}, "signature": "_getAssetPrices(bool)"}}, {"type": "function", "name": "getAssetCount", "source_mapping": {"start": 22919, "length": 95, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [629, 630, 631], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 578, "length": 23987, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680], "starting_column": 1, "ending_column": 2}}, "signature": "getAssetCount()"}}, {"type": "function", "name": "getAllAssets", "source_mapping": {"start": 23084, "length": 98, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [636, 637, 638], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 578, "length": 23987, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680], "starting_column": 1, "ending_column": 2}}, "signature": "getAllAssets()"}}], "description": "VaultStorage.allAssets (contracts/vault/VaultStorage.sol#52) is never initialized. It is used in:\n\t- VaultCore.mintMultiple(address[],uint256[],uint256) (contracts/vault/VaultCore.sol#96-153)\n\t- VaultCore._redeem(uint256,uint256) (contracts/vault/VaultCore.sol#176-241)\n\t- VaultCore._allocate() (contracts/vault/VaultCore.sol#272-355)\n\t- VaultCore._totalValueInVault() (contracts/vault/VaultCore.sol#412-422)\n\t- VaultCore._totalValueInStrategy(address) (contracts/vault/VaultCore.sol#440-456)\n\t- VaultCore._checkBalance() (contracts/vault/VaultCore.sol#491-499)\n\t- VaultCore._calculateRedeemOutputs(uint256) (contracts/vault/VaultCore.sol#518-594)\n\t- VaultCore._getAssetPrices(bool) (contracts/vault/VaultCore.sol#600-620)\n\t- VaultCore.getAssetCount() (contracts/vault/VaultCore.sol#629-631)\n\t- VaultCore.getAllAssets() (contracts/vault/VaultCore.sol#636-638)\n", "markdown": "[VaultStorage.allAssets](contracts/vault/VaultStorage.sol#L52) is never initialized. It is used in:\n\t- [VaultCore.mintMultiple(address[],uint256[],uint256)](contracts/vault/VaultCore.sol#L96-L153)\n\t- [VaultCore._redeem(uint256,uint256)](contracts/vault/VaultCore.sol#L176-L241)\n\t- [VaultCore._allocate()](contracts/vault/VaultCore.sol#L272-L355)\n\t- [VaultCore._totalValueInVault()](contracts/vault/VaultCore.sol#L412-L422)\n\t- [VaultCore._totalValueInStrategy(address)](contracts/vault/VaultCore.sol#L440-L456)\n\t- [VaultCore._checkBalance()](contracts/vault/VaultCore.sol#L491-L499)\n\t- [VaultCore._calculateRedeemOutputs(uint256)](contracts/vault/VaultCore.sol#L518-L594)\n\t- [VaultCore._getAssetPrices(bool)](contracts/vault/VaultCore.sol#L600-L620)\n\t- [VaultCore.getAssetCount()](contracts/vault/VaultCore.sol#L629-L631)\n\t- [VaultCore.getAllAssets()](contracts/vault/VaultCore.sol#L636-L638)\n", "id": "a0bcee4b84d596e46f4bdc315977842c894250f10de805d7cb76ef572ecc6eed", "check": "uninitialized-state", "impact": "High", "confidence": "High"}, {"elements": [{"type": "variable", "name": "allStrategies", "source_mapping": {"start": 2121, "length": 23, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [60], "starting_column": 5, "ending_column": 28}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 738, "length": 3013, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106], "starting_column": 1, "ending_column": 2}}}}, {"type": "function", "name": "_allocate", "source_mapping": {"start": 9491, "length": 3809, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 578, "length": 23987, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680], "starting_column": 1, "ending_column": 2}}, "signature": "_allocate()"}}, {"type": "function", "name": "_totalValueInStrategies", "source_mapping": {"start": 15600, "length": 232, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [428, 429, 430, 431, 432, 433], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 578, "length": 23987, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680], "starting_column": 1, "ending_column": 2}}, "signature": "_totalValueInStrategies()"}}, {"type": "function", "name": "_checkBalance", "source_mapping": {"start": 17149, "length": 458, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 578, "length": 23987, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680], "starting_column": 1, "ending_column": 2}}, "signature": "_checkBalance(address)"}}, {"type": "function", "name": "getStrategyCount", "source_mapping": {"start": 23269, "length": 104, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [643, 644, 645], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 578, "length": 23987, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680], "starting_column": 1, "ending_column": 2}}, "signature": "getStrategyCount()"}}], "description": "VaultStorage.allStrategies (contracts/vault/VaultStorage.sol#60) is never initialized. It is used in:\n\t- VaultCore._allocate() (contracts/vault/VaultCore.sol#272-355)\n\t- VaultCore._totalValueInStrategies() (contracts/vault/VaultCore.sol#428-433)\n\t- VaultCore._checkBalance(address) (contracts/vault/VaultCore.sol#472-485)\n\t- VaultCore.getStrategyCount() (contracts/vault/VaultCore.sol#643-645)\n", "markdown": "[VaultStorage.allStrategies](contracts/vault/VaultStorage.sol#L60) is never initialized. It is used in:\n\t- [VaultCore._allocate()](contracts/vault/VaultCore.sol#L272-L355)\n\t- [VaultCore._totalValueInStrategies()](contracts/vault/VaultCore.sol#L428-L433)\n\t- [VaultCore._checkBalance(address)](contracts/vault/VaultCore.sol#L472-L485)\n\t- [VaultCore.getStrategyCount()](contracts/vault/VaultCore.sol#L643-L645)\n", "id": "ea3b2d51d5c7b49d49000d98c22ad2e6114ee9ddc5ae0a3dbca43230b1d86caa", "check": "uninitialized-state", "impact": "High", "confidence": "High"}, {"elements": [{"type": "variable", "name": "assetDefaultStrategies", "source_mapping": {"start": 3296, "length": 57, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [92], "starting_column": 5, "ending_column": 62}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 738, "length": 3013, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106], "starting_column": 1, "ending_column": 2}}}}, {"type": "function", "name": "_redeem", "source_mapping": {"start": 5959, "length": 2568, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 578, "length": 23987, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680], "starting_column": 1, "ending_column": 2}}, "signature": "_redeem(uint256,uint256)"}}, {"type": "function", "name": "_allocate", "source_mapping": {"start": 9491, "length": 3809, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 578, "length": 23987, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680], "starting_column": 1, "ending_column": 2}}, "signature": "_allocate()"}}], "description": "VaultStorage.assetDefaultStrategies (contracts/vault/VaultStorage.sol#92) is never initialized. It is used in:\n\t- VaultCore._redeem(uint256,uint256) (contracts/vault/VaultCore.sol#176-241)\n\t- VaultCore._allocate() (contracts/vault/VaultCore.sol#272-355)\n", "markdown": "[VaultStorage.assetDefaultStrategies](contracts/vault/VaultStorage.sol#L92) is never initialized. It is used in:\n\t- [VaultCore._redeem(uint256,uint256)](contracts/vault/VaultCore.sol#L176-L241)\n\t- [VaultCore._allocate()](contracts/vault/VaultCore.sol#L272-L355)\n", "id": "2a2b38bc90433cda7268d5e5e361bda99612c0a8a010cde7677ef881ee8366ee", "check": "uninitialized-state", "impact": "High", "confidence": "High"}, {"elements": [{"type": "function", "name": "balanceOf", "source_mapping": {"start": 3072, "length": 223, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [93, 94, 95, 96, 97], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OUSD", "source_mapping": {"start": 829, "length": 17126, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 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], "starting_column": 1, "ending_column": 2}}, "signature": "balanceOf(address)"}}, {"type": "node", "name": "_creditBalances[_account] == 0", "source_mapping": {"start": 3153, "length": 30, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [94], "starting_column": 13, "ending_column": 43}, "type_specific_fields": {"parent": {"type": "function", "name": "balanceOf", "source_mapping": {"start": 3072, "length": 223, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [93, 94, 95, 96, 97], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OUSD", "source_mapping": {"start": 829, "length": 17126, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 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], "starting_column": 1, "ending_column": 2}}, "signature": "balanceOf(address)"}}}}], "description": "OUSD.balanceOf(address) (contracts/token/OUSD.sol#93-97) uses a dangerous strict equality:\n\t- _creditBalances[_account] == 0 (contracts/token/OUSD.sol#94)\n", "markdown": "[OUSD.balanceOf(address)](contracts/token/OUSD.sol#L93-L97) uses a dangerous strict equality:\n\t- [_creditBalances[_account] == 0](contracts/token/OUSD.sol#L94)\n", "id": "a55a1e1f6ea78bddc5cbd6d68e5a4302d75fcd721b5a8c9f6966a014896ca1d4", "check": "incorrect-equality", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "function", "name": "updatePool", "source_mapping": {"start": 8912, "length": 759, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/liquidity/LiquidityReward.sol", "filename_relative": "contracts/liquidity/LiquidityReward.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/liquidity/LiquidityReward.sol", "filename_short": "contracts/liquidity/LiquidityReward.sol", "is_dependency": false, "lines": [244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "LiquidityReward", "source_mapping": {"start": 598, "length": 12500, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/liquidity/LiquidityReward.sol", "filename_relative": "contracts/liquidity/LiquidityReward.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/liquidity/LiquidityReward.sol", "filename_short": "contracts/liquidity/LiquidityReward.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, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372], "starting_column": 1, "ending_column": 2}}, "signature": "updatePool()"}}, {"type": "node", "name": "lpSupply == 0", "source_mapping": {"start": 9176, "length": 13, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/liquidity/LiquidityReward.sol", "filename_relative": "contracts/liquidity/LiquidityReward.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/liquidity/LiquidityReward.sol", "filename_short": "contracts/liquidity/LiquidityReward.sol", "is_dependency": false, "lines": [253], "starting_column": 13, "ending_column": 26}, "type_specific_fields": {"parent": {"type": "function", "name": "updatePool", "source_mapping": {"start": 8912, "length": 759, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/liquidity/LiquidityReward.sol", "filename_relative": "contracts/liquidity/LiquidityReward.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/liquidity/LiquidityReward.sol", "filename_short": "contracts/liquidity/LiquidityReward.sol", "is_dependency": false, "lines": [244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "LiquidityReward", "source_mapping": {"start": 598, "length": 12500, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/liquidity/LiquidityReward.sol", "filename_relative": "contracts/liquidity/LiquidityReward.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/liquidity/LiquidityReward.sol", "filename_short": "contracts/liquidity/LiquidityReward.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, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372], "starting_column": 1, "ending_column": 2}}, "signature": "updatePool()"}}}}], "description": "LiquidityReward.updatePool() (contracts/liquidity/LiquidityReward.sol#244-268) uses a dangerous strict equality:\n\t- lpSupply == 0 (contracts/liquidity/LiquidityReward.sol#253)\n", "markdown": "[LiquidityReward.updatePool()](contracts/liquidity/LiquidityReward.sol#L244-L268) uses a dangerous strict equality:\n\t- [lpSupply == 0](contracts/liquidity/LiquidityReward.sol#L253)\n", "id": "02a2415f185c8c7b03a0600221486a59fab7f3f7715fd500620d5d0e2e3637cc", "check": "incorrect-equality", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "function", "name": "_allocate", "source_mapping": {"start": 9491, "length": 3809, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 578, "length": 23987, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680], "starting_column": 1, "ending_column": 2}}, "signature": "_allocate()"}}, {"type": "node", "name": "assetBalance == 0", "source_mapping": {"start": 11170, "length": 17, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [309], "starting_column": 17, "ending_column": 34}, "type_specific_fields": {"parent": {"type": "function", "name": "_allocate", "source_mapping": {"start": 9491, "length": 3809, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 578, "length": 23987, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680], "starting_column": 1, "ending_column": 2}}, "signature": "_allocate()"}}}}], "description": "VaultCore._allocate() (contracts/vault/VaultCore.sol#272-355) uses a dangerous strict equality:\n\t- assetBalance == 0 (contracts/vault/VaultCore.sol#309)\n", "markdown": "[VaultCore._allocate()](contracts/vault/VaultCore.sol#L272-L355) uses a dangerous strict equality:\n\t- [assetBalance == 0](contracts/vault/VaultCore.sol#L309)\n", "id": "e076e0868789c4c8eac321fa296d864f811cdc98d51f0a6c652fad192cda236b", "check": "incorrect-equality", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "function", "name": "withdrawAll", "source_mapping": {"start": 2169, "length": 720, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompoundStrategy", "source_mapping": {"start": 319, "length": 6386, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [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], "starting_column": 1, "ending_column": 2}}, "signature": "withdrawAll()"}}, {"type": "node", "name": "require(bool,string)(cToken.redeem(cToken.balanceOf(address(this))) == 0,Redeem failed)", "source_mapping": {"start": 2475, "length": 135, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [71, 72, 73, 74], "starting_column": 17, "ending_column": 18}, "type_specific_fields": {"parent": {"type": "function", "name": "withdrawAll", "source_mapping": {"start": 2169, "length": 720, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompoundStrategy", "source_mapping": {"start": 319, "length": 6386, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [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], "starting_column": 1, "ending_column": 2}}, "signature": "withdrawAll()"}}}}], "description": "CompoundStrategy.withdrawAll() (contracts/strategies/CompoundStrategy.sol#66-83) uses a dangerous strict equality:\n\t- require(bool,string)(cToken.redeem(cToken.balanceOf(address(this))) == 0,Redeem failed) (contracts/strategies/CompoundStrategy.sol#71-74)\n", "markdown": "[CompoundStrategy.withdrawAll()](contracts/strategies/CompoundStrategy.sol#L66-L83) uses a dangerous strict equality:\n\t- [require(bool,string)(cToken.redeem(cToken.balanceOf(address(this))) == 0,Redeem failed)](contracts/strategies/CompoundStrategy.sol#L71-L74)\n", "id": "9e1c9a8960b5355a30be684d7838bfbc435e02b641fb93208cf2e5c248ac5db8", "check": "incorrect-equality", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "variable", "name": "_deprecated_nonRebasingCredits", "source_mapping": {"start": 1889, "length": 46, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [56], "starting_column": 5, "ending_column": 51}, "type_specific_fields": {"parent": {"type": "contract", "name": "OUSD", "source_mapping": {"start": 829, "length": 17126, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 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], "starting_column": 1, "ending_column": 2}}}}], "description": "OUSD._deprecated_nonRebasingCredits (contracts/token/OUSD.sol#56) should be constant\n", "markdown": "[OUSD._deprecated_nonRebasingCredits](contracts/token/OUSD.sol#L56) should be constant\n", "id": "d1ea4fe9408f80125156de9fe468a481994a6d08fef3b6b1933e37e2df899f9e", "check": "constable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "_deprecated_rebaseHooksAddr", "source_mapping": {"start": 2977, "length": 56, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [82], "starting_column": 5, "ending_column": 61}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 738, "length": 3013, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106], "starting_column": 1, "ending_column": 2}}}}], "description": "VaultStorage._deprecated_rebaseHooksAddr (contracts/vault/VaultStorage.sol#82) should be constant\n", "markdown": "[VaultStorage._deprecated_rebaseHooksAddr](contracts/vault/VaultStorage.sol#L82) should be constant\n", "id": "ed4ffd431fec4020c56a7e926083a9e68612827dfc15d7aabf73103cd7bcf2aa", "check": "constable-states", "impact": "Optimization", "confidence": "High"}] \ No newline at end of file +[{"elements": [{"type": "variable", "name": "stake", "source_mapping": {"start": 3291, "length": 31, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [102], "starting_column": 13, "ending_column": 44}, "type_specific_fields": {"parent": {"type": "function", "name": "_totalExpectedRewards", "source_mapping": {"start": 3102, "length": 355, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SingleAssetStaking", "source_mapping": {"start": 466, "length": 18304, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562], "starting_column": 1, "ending_column": 2}}, "signature": "_totalExpectedRewards(SingleAssetStaking.Stake[])"}}}}, {"type": "function", "name": "stake", "source_mapping": {"start": 12724, "length": 242, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [395, 396, 397, 398], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SingleAssetStaking", "source_mapping": {"start": 466, "length": 18304, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562], "starting_column": 1, "ending_column": 2}}, "signature": "stake(uint256,uint256)"}}], "description": "SingleAssetStaking._totalExpectedRewards(SingleAssetStaking.Stake[]).stake (contracts/staking/SingleAssetStaking.sol#102) shadows:\n\t- SingleAssetStaking.stake(uint256,uint256) (contracts/staking/SingleAssetStaking.sol#395-398) (function)\n", "markdown": "[SingleAssetStaking._totalExpectedRewards(SingleAssetStaking.Stake[]).stake](contracts/staking/SingleAssetStaking.sol#L102) shadows:\n\t- [SingleAssetStaking.stake(uint256,uint256)](contracts/staking/SingleAssetStaking.sol#L395-L398) (function)\n", "first_markdown_element": "contracts/staking/SingleAssetStaking.sol#L102", "id": "9dd73390f49ff67e6e64cecf07ea5149b70961078f41623d7a34e220ac804056", "check": "shadowing-local", "impact": "Low", "confidence": "High"}, {"elements": [{"type": "variable", "name": "_stake", "source_mapping": {"start": 3487, "length": 20, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [109], "starting_column": 29, "ending_column": 49}, "type_specific_fields": {"parent": {"type": "function", "name": "_totalExpected", "source_mapping": {"start": 3463, "length": 187, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [109, 110, 111, 112, 113, 114, 115], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SingleAssetStaking", "source_mapping": {"start": 466, "length": 18304, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562], "starting_column": 1, "ending_column": 2}}, "signature": "_totalExpected(SingleAssetStaking.Stake)"}}}}, {"type": "function", "name": "_stake", "source_mapping": {"start": 4959, "length": 1129, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SingleAssetStaking", "source_mapping": {"start": 466, "length": 18304, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562], "starting_column": 1, "ending_column": 2}}, "signature": "_stake(address,uint8,uint256,uint240,uint256)"}}], "description": "SingleAssetStaking._totalExpected(SingleAssetStaking.Stake)._stake (contracts/staking/SingleAssetStaking.sol#109) shadows:\n\t- SingleAssetStaking._stake(address,uint8,uint256,uint240,uint256) (contracts/staking/SingleAssetStaking.sol#156-193) (function)\n", "markdown": "[SingleAssetStaking._totalExpected(SingleAssetStaking.Stake)._stake](contracts/staking/SingleAssetStaking.sol#L109) shadows:\n\t- [SingleAssetStaking._stake(address,uint8,uint256,uint240,uint256)](contracts/staking/SingleAssetStaking.sol#L156-L193) (function)\n", "first_markdown_element": "contracts/staking/SingleAssetStaking.sol#L109", "id": "8a1c4c887deef718424f5330bc5062498e9d38d6f5fa49d962f7b50987c344fb", "check": "shadowing-local", "impact": "Low", "confidence": "High"}, {"elements": [{"type": "variable", "name": "stake", "source_mapping": {"start": 9325, "length": 31, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [307], "starting_column": 13, "ending_column": 44}, "type_specific_fields": {"parent": {"type": "function", "name": "totalCurrentHoldings", "source_mapping": {"start": 9089, "length": 978, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SingleAssetStaking", "source_mapping": {"start": 466, "length": 18304, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562], "starting_column": 1, "ending_column": 2}}, "signature": "totalCurrentHoldings(address)"}}}}, {"type": "function", "name": "stake", "source_mapping": {"start": 12724, "length": 242, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [395, 396, 397, 398], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SingleAssetStaking", "source_mapping": {"start": 466, "length": 18304, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562], "starting_column": 1, "ending_column": 2}}, "signature": "stake(uint256,uint256)"}}], "description": "SingleAssetStaking.totalCurrentHoldings(address).stake (contracts/staking/SingleAssetStaking.sol#307) shadows:\n\t- SingleAssetStaking.stake(uint256,uint256) (contracts/staking/SingleAssetStaking.sol#395-398) (function)\n", "markdown": "[SingleAssetStaking.totalCurrentHoldings(address).stake](contracts/staking/SingleAssetStaking.sol#L307) shadows:\n\t- [SingleAssetStaking.stake(uint256,uint256)](contracts/staking/SingleAssetStaking.sol#L395-L398) (function)\n", "first_markdown_element": "contracts/staking/SingleAssetStaking.sol#L307", "id": "1c79525b3936460d2cf3f3e0405f443514b70cb404fe2bff8ea4ba8d4d5eaf96", "check": "shadowing-local", "impact": "Low", "confidence": "High"}, {"elements": [{"type": "function", "name": "initialize", "source_mapping": {"start": 1979, "length": 381, "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [56, 57, 58, 59, 60, 61, 62, 63, 64, 65], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OUSD", "source_mapping": {"start": 835, "length": 19173, "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579], "starting_column": 1, "ending_column": 2}}, "signature": "initialize(string,string,address,uint256)"}}, {"type": "node", "name": "vaultAddress = _vaultAddress", "source_mapping": {"start": 2325, "length": 28, "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [64], "starting_column": 9, "ending_column": 37}, "type_specific_fields": {"parent": {"type": "function", "name": "initialize", "source_mapping": {"start": 1979, "length": 381, "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [56, 57, 58, 59, 60, 61, 62, 63, 64, 65], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OUSD", "source_mapping": {"start": 835, "length": 19173, "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579], "starting_column": 1, "ending_column": 2}}, "signature": "initialize(string,string,address,uint256)"}}}}], "description": "OUSD.initialize(string,string,address,uint256) (contracts/token/OUSD.sol#56-65) should emit an event for: \n\t- vaultAddress = _vaultAddress (contracts/token/OUSD.sol#64) \n", "markdown": "[OUSD.initialize(string,string,address,uint256)](contracts/token/OUSD.sol#L56-L65) should emit an event for: \n\t- [vaultAddress = _vaultAddress](contracts/token/OUSD.sol#L64) \n", "first_markdown_element": "contracts/token/OUSD.sol#L56-L65", "id": "0d90bb04c73120d02c1cded42b940dd83838142909665e6db98f06b141ac4102", "check": "events-access", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "initialize", "source_mapping": {"start": 2600, "length": 1256, "filename_relative": "contracts/strategies/BaseConvexMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/BaseConvexMetaStrategy.sol", "filename_short": "contracts/strategies/BaseConvexMetaStrategy.sol", "is_dependency": false, "lines": [63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseConvexMetaStrategy", "source_mapping": {"start": 647, "length": 8927, "filename_relative": "contracts/strategies/BaseConvexMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/BaseConvexMetaStrategy.sol", "filename_short": "contracts/strategies/BaseConvexMetaStrategy.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, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251], "starting_column": 1, "ending_column": 2}}, "signature": "initialize(address[],address[],address[],BaseConvexMetaStrategy.InitConfig)"}}, {"type": "node", "name": "cvxDepositorPTokenId = initConfig.cvxDepositorPTokenId", "source_mapping": {"start": 3390, "length": 54, "filename_relative": "contracts/strategies/BaseConvexMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/BaseConvexMetaStrategy.sol", "filename_short": "contracts/strategies/BaseConvexMetaStrategy.sol", "is_dependency": false, "lines": [78], "starting_column": 9, "ending_column": 63}, "type_specific_fields": {"parent": {"type": "function", "name": "initialize", "source_mapping": {"start": 2600, "length": 1256, "filename_relative": "contracts/strategies/BaseConvexMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/BaseConvexMetaStrategy.sol", "filename_short": "contracts/strategies/BaseConvexMetaStrategy.sol", "is_dependency": false, "lines": [63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseConvexMetaStrategy", "source_mapping": {"start": 647, "length": 8927, "filename_relative": "contracts/strategies/BaseConvexMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/BaseConvexMetaStrategy.sol", "filename_short": "contracts/strategies/BaseConvexMetaStrategy.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, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251], "starting_column": 1, "ending_column": 2}}, "signature": "initialize(address[],address[],address[],BaseConvexMetaStrategy.InitConfig)"}}}}], "description": "BaseConvexMetaStrategy.initialize(address[],address[],address[],BaseConvexMetaStrategy.InitConfig) (contracts/strategies/BaseConvexMetaStrategy.sol#63-90) should emit an event for: \n\t- cvxDepositorPTokenId = initConfig.cvxDepositorPTokenId (contracts/strategies/BaseConvexMetaStrategy.sol#78) \n", "markdown": "[BaseConvexMetaStrategy.initialize(address[],address[],address[],BaseConvexMetaStrategy.InitConfig)](contracts/strategies/BaseConvexMetaStrategy.sol#L63-L90) should emit an event for: \n\t- [cvxDepositorPTokenId = initConfig.cvxDepositorPTokenId](contracts/strategies/BaseConvexMetaStrategy.sol#L78) \n", "first_markdown_element": "contracts/strategies/BaseConvexMetaStrategy.sol#L63-L90", "id": "46721d8a557fb6daf8c2662b6867e25291448b0b04abb7a31a1afc20b275f988", "check": "events-maths", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "initialize", "source_mapping": {"start": 2165, "length": 872, "filename_relative": "contracts/strategies/ConvexStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexStrategy.sol", "filename_short": "contracts/strategies/ConvexStrategy.sol", "is_dependency": false, "lines": [52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ConvexStrategy", "source_mapping": {"start": 918, "length": 5358, "filename_relative": "contracts/strategies/ConvexStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexStrategy.sol", "filename_short": "contracts/strategies/ConvexStrategy.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165], "starting_column": 1, "ending_column": 2}}, "signature": "initialize(address[],address[],address[],address,address,uint256)"}}, {"type": "node", "name": "cvxDepositorPTokenId = _cvxDepositorPTokenId", "source_mapping": {"start": 2785, "length": 44, "filename_relative": "contracts/strategies/ConvexStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexStrategy.sol", "filename_short": "contracts/strategies/ConvexStrategy.sol", "is_dependency": false, "lines": [65], "starting_column": 9, "ending_column": 53}, "type_specific_fields": {"parent": {"type": "function", "name": "initialize", "source_mapping": {"start": 2165, "length": 872, "filename_relative": "contracts/strategies/ConvexStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexStrategy.sol", "filename_short": "contracts/strategies/ConvexStrategy.sol", "is_dependency": false, "lines": [52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ConvexStrategy", "source_mapping": {"start": 918, "length": 5358, "filename_relative": "contracts/strategies/ConvexStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexStrategy.sol", "filename_short": "contracts/strategies/ConvexStrategy.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165], "starting_column": 1, "ending_column": 2}}, "signature": "initialize(address[],address[],address[],address,address,uint256)"}}}}], "description": "ConvexStrategy.initialize(address[],address[],address[],address,address,uint256) (contracts/strategies/ConvexStrategy.sol#52-74) should emit an event for: \n\t- cvxDepositorPTokenId = _cvxDepositorPTokenId (contracts/strategies/ConvexStrategy.sol#65) \n", "markdown": "[ConvexStrategy.initialize(address[],address[],address[],address,address,uint256)](contracts/strategies/ConvexStrategy.sol#L52-L74) should emit an event for: \n\t- [cvxDepositorPTokenId = _cvxDepositorPTokenId](contracts/strategies/ConvexStrategy.sol#L65) \n", "first_markdown_element": "contracts/strategies/ConvexStrategy.sol#L52-L74", "id": "72bc9b0c883df2e19dbc3a21371b86129fc27c83c55b93e76d47a06beb303a17", "check": "events-maths", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "_token", "source_mapping": {"start": 2055, "length": 14, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [59], "starting_column": 17, "ending_column": 31}, "type_specific_fields": {"parent": {"type": "function", "name": "constructor", "source_mapping": {"start": 2043, "length": 154, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [59, 60, 61, 62, 63], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompensationClaims", "source_mapping": {"start": 1527, "length": 3674, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164], "starting_column": 1, "ending_column": 2}}, "signature": "constructor(address,address)"}}}}, {"type": "node", "name": "token = _token", "source_mapping": {"start": 2113, "length": 14, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [60], "starting_column": 9, "ending_column": 23}, "type_specific_fields": {"parent": {"type": "function", "name": "constructor", "source_mapping": {"start": 2043, "length": 154, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [59, 60, 61, 62, 63], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompensationClaims", "source_mapping": {"start": 1527, "length": 3674, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164], "starting_column": 1, "ending_column": 2}}, "signature": "constructor(address,address)"}}}}], "description": "CompensationClaims.constructor(address,address)._token (contracts/compensation/CompensationClaims.sol#59) lacks a zero-check on :\n\t\t- token = _token (contracts/compensation/CompensationClaims.sol#60)\n", "markdown": "[CompensationClaims.constructor(address,address)._token](contracts/compensation/CompensationClaims.sol#L59) lacks a zero-check on :\n\t\t- [token = _token](contracts/compensation/CompensationClaims.sol#L60)\n", "first_markdown_element": "contracts/compensation/CompensationClaims.sol#L59", "id": "bd7a5e311112b74313c8ca5ec6673f8dafafa5e2be394a2523b54bba32166112", "check": "missing-zero-check", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "_adjuster", "source_mapping": {"start": 2071, "length": 17, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [59], "starting_column": 33, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "function", "name": "constructor", "source_mapping": {"start": 2043, "length": 154, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [59, 60, 61, 62, 63], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompensationClaims", "source_mapping": {"start": 1527, "length": 3674, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164], "starting_column": 1, "ending_column": 2}}, "signature": "constructor(address,address)"}}}}, {"type": "node", "name": "adjuster = _adjuster", "source_mapping": {"start": 2137, "length": 20, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [61], "starting_column": 9, "ending_column": 29}, "type_specific_fields": {"parent": {"type": "function", "name": "constructor", "source_mapping": {"start": 2043, "length": 154, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [59, 60, 61, 62, 63], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompensationClaims", "source_mapping": {"start": 1527, "length": 3674, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164], "starting_column": 1, "ending_column": 2}}, "signature": "constructor(address,address)"}}}}], "description": "CompensationClaims.constructor(address,address)._adjuster (contracts/compensation/CompensationClaims.sol#59) lacks a zero-check on :\n\t\t- adjuster = _adjuster (contracts/compensation/CompensationClaims.sol#61)\n", "markdown": "[CompensationClaims.constructor(address,address)._adjuster](contracts/compensation/CompensationClaims.sol#L59) lacks a zero-check on :\n\t\t- [adjuster = _adjuster](contracts/compensation/CompensationClaims.sol#L61)\n", "first_markdown_element": "contracts/compensation/CompensationClaims.sol#L59", "id": "3db545eb647132fea09fa1249481346d7e9869aa7d9775d2214eaaab261b5956", "check": "missing-zero-check", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "_vaultAddress", "source_mapping": {"start": 2078, "length": 21, "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [59], "starting_column": 9, "ending_column": 30}, "type_specific_fields": {"parent": {"type": "function", "name": "initialize", "source_mapping": {"start": 1979, "length": 381, "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [56, 57, 58, 59, 60, 61, 62, 63, 64, 65], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OUSD", "source_mapping": {"start": 835, "length": 19173, "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579], "starting_column": 1, "ending_column": 2}}, "signature": "initialize(string,string,address,uint256)"}}}}, {"type": "node", "name": "vaultAddress = _vaultAddress", "source_mapping": {"start": 2325, "length": 28, "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [64], "starting_column": 9, "ending_column": 37}, "type_specific_fields": {"parent": {"type": "function", "name": "initialize", "source_mapping": {"start": 1979, "length": 381, "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [56, 57, 58, 59, 60, 61, 62, 63, 64, 65], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OUSD", "source_mapping": {"start": 835, "length": 19173, "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579], "starting_column": 1, "ending_column": 2}}, "signature": "initialize(string,string,address,uint256)"}}}}], "description": "OUSD.initialize(string,string,address,uint256)._vaultAddress (contracts/token/OUSD.sol#59) lacks a zero-check on :\n\t\t- vaultAddress = _vaultAddress (contracts/token/OUSD.sol#64)\n", "markdown": "[OUSD.initialize(string,string,address,uint256)._vaultAddress](contracts/token/OUSD.sol#L59) lacks a zero-check on :\n\t\t- [vaultAddress = _vaultAddress](contracts/token/OUSD.sol#L64)\n", "first_markdown_element": "contracts/token/OUSD.sol#L59", "id": "e5d651134ca438025463985da71f74f7441b8081f24ffcde0b54d147b8c618b1", "check": "missing-zero-check", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "pendingAdmin_", "source_mapping": {"start": 2688, "length": 21, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [105], "starting_column": 30, "ending_column": 51}, "type_specific_fields": {"parent": {"type": "function", "name": "setPendingAdmin", "source_mapping": {"start": 2663, "length": 155, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [105, 106, 107, 108, 109], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Timelock", "source_mapping": {"start": 298, "length": 6391, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242], "starting_column": 1, "ending_column": 2}}, "signature": "setPendingAdmin(address)"}}}}, {"type": "node", "name": "pendingAdmin = pendingAdmin_", "source_mapping": {"start": 2738, "length": 28, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [106], "starting_column": 9, "ending_column": 37}, "type_specific_fields": {"parent": {"type": "function", "name": "setPendingAdmin", "source_mapping": {"start": 2663, "length": 155, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [105, 106, 107, 108, 109], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Timelock", "source_mapping": {"start": 298, "length": 6391, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242], "starting_column": 1, "ending_column": 2}}, "signature": "setPendingAdmin(address)"}}}}], "description": "Timelock.setPendingAdmin(address).pendingAdmin_ (contracts/timelock/Timelock.sol#105) lacks a zero-check on :\n\t\t- pendingAdmin = pendingAdmin_ (contracts/timelock/Timelock.sol#106)\n", "markdown": "[Timelock.setPendingAdmin(address).pendingAdmin_](contracts/timelock/Timelock.sol#L105) lacks a zero-check on :\n\t\t- [pendingAdmin = pendingAdmin_](contracts/timelock/Timelock.sol#L106)\n", "first_markdown_element": "contracts/timelock/Timelock.sol#L105", "id": "9a38b69c86c02177b3926889e9a882724c6856268533e973ed38f9d8548b976f", "check": "missing-zero-check", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "_logic", "source_mapping": {"start": 1381, "length": 14, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [35], "starting_column": 9, "ending_column": 23}, "type_specific_fields": {"parent": {"type": "function", "name": "initialize", "source_mapping": {"start": 1352, "length": 545, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "InitializeGovernedUpgradeabilityProxy", "source_mapping": {"start": 450, "length": 6294, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [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], "starting_column": 1, "ending_column": 2}}, "signature": "initialize(address,address,bytes)"}}}}, {"type": "node", "name": "(success) = _logic.delegatecall(_data)", "source_mapping": {"start": 1765, "length": 45, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [46], "starting_column": 13, "ending_column": 58}, "type_specific_fields": {"parent": {"type": "function", "name": "initialize", "source_mapping": {"start": 1352, "length": 545, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "InitializeGovernedUpgradeabilityProxy", "source_mapping": {"start": 450, "length": 6294, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [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], "starting_column": 1, "ending_column": 2}}, "signature": "initialize(address,address,bytes)"}}}}], "description": "InitializeGovernedUpgradeabilityProxy.initialize(address,address,bytes)._logic (contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#35) lacks a zero-check on :\n\t\t- (success) = _logic.delegatecall(_data) (contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#46)\n", "markdown": "[InitializeGovernedUpgradeabilityProxy.initialize(address,address,bytes)._logic](contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#L35) lacks a zero-check on :\n\t\t- [(success) = _logic.delegatecall(_data)](contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#L46)\n", "first_markdown_element": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#L35", "id": "46b158d43224279b8e4e59265414c43e597fef64c2552d235a8c85aeda35357b", "check": "missing-zero-check", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "newImplementation", "source_mapping": {"start": 3117, "length": 25, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [84], "starting_column": 31, "ending_column": 56}, "type_specific_fields": {"parent": {"type": "function", "name": "upgradeToAndCall", "source_mapping": {"start": 3091, "length": 269, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [84, 85, 86, 87, 88, 89, 90, 91, 92], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "InitializeGovernedUpgradeabilityProxy", "source_mapping": {"start": 450, "length": 6294, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [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], "starting_column": 1, "ending_column": 2}}, "signature": "upgradeToAndCall(address,bytes)"}}}}, {"type": "node", "name": "(success) = newImplementation.delegatecall(data)", "source_mapping": {"start": 3272, "length": 55, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [90], "starting_column": 9, "ending_column": 64}, "type_specific_fields": {"parent": {"type": "function", "name": "upgradeToAndCall", "source_mapping": {"start": 3091, "length": 269, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [84, 85, 86, 87, 88, 89, 90, 91, 92], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "InitializeGovernedUpgradeabilityProxy", "source_mapping": {"start": 450, "length": 6294, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [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], "starting_column": 1, "ending_column": 2}}, "signature": "upgradeToAndCall(address,bytes)"}}}}], "description": "InitializeGovernedUpgradeabilityProxy.upgradeToAndCall(address,bytes).newImplementation (contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#84) lacks a zero-check on :\n\t\t- (success) = newImplementation.delegatecall(data) (contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#90)\n", "markdown": "[InitializeGovernedUpgradeabilityProxy.upgradeToAndCall(address,bytes).newImplementation](contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#L84) lacks a zero-check on :\n\t\t- [(success) = newImplementation.delegatecall(data)](contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#L90)\n", "first_markdown_element": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#L84", "id": "2f81daf5f6f44bc96c296119bdfa6a6da965b8f5f2c330394c9a1f3970654e31", "check": "missing-zero-check", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "_agent", "source_mapping": {"start": 17401, "length": 14, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [519], "starting_column": 31, "ending_column": 45}, "type_specific_fields": {"parent": {"type": "function", "name": "setTransferAgent", "source_mapping": {"start": 17375, "length": 103, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [519, 520, 521], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SingleAssetStaking", "source_mapping": {"start": 466, "length": 18304, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562], "starting_column": 1, "ending_column": 2}}, "signature": "setTransferAgent(address)"}}}}, {"type": "node", "name": "transferAgent = _agent", "source_mapping": {"start": 17449, "length": 22, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [520], "starting_column": 9, "ending_column": 31}, "type_specific_fields": {"parent": {"type": "function", "name": "setTransferAgent", "source_mapping": {"start": 17375, "length": 103, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [519, 520, 521], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SingleAssetStaking", "source_mapping": {"start": 466, "length": 18304, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562], "starting_column": 1, "ending_column": 2}}, "signature": "setTransferAgent(address)"}}}}], "description": "SingleAssetStaking.setTransferAgent(address)._agent (contracts/staking/SingleAssetStaking.sol#519) lacks a zero-check on :\n\t\t- transferAgent = _agent (contracts/staking/SingleAssetStaking.sol#520)\n", "markdown": "[SingleAssetStaking.setTransferAgent(address)._agent](contracts/staking/SingleAssetStaking.sol#L519) lacks a zero-check on :\n\t\t- [transferAgent = _agent](contracts/staking/SingleAssetStaking.sol#L520)\n", "first_markdown_element": "contracts/staking/SingleAssetStaking.sol#L519", "id": "f2d63b6419cd2ebbc5ac8bc570c47a3f067f3b1ef0b92a818e5d0c07a7e02e70", "check": "missing-zero-check", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "_harvesterAddress", "source_mapping": {"start": 9512, "length": 25, "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [284], "starting_column": 34, "ending_column": 59}, "type_specific_fields": {"parent": {"type": "function", "name": "setHarvesterAddress", "source_mapping": {"start": 9483, "length": 228, "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [284, 285, 286, 287, 288, 289, 290], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "InitializableAbstractStrategy", "source_mapping": {"start": 472, "length": 11152, "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351], "starting_column": 1, "ending_column": 2}}, "signature": "setHarvesterAddress(address)"}}}}, {"type": "node", "name": "harvesterAddress = _harvesterAddress", "source_mapping": {"start": 9668, "length": 36, "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [289], "starting_column": 9, "ending_column": 45}, "type_specific_fields": {"parent": {"type": "function", "name": "setHarvesterAddress", "source_mapping": {"start": 9483, "length": 228, "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [284, 285, 286, 287, 288, 289, 290], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "InitializableAbstractStrategy", "source_mapping": {"start": 472, "length": 11152, "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351], "starting_column": 1, "ending_column": 2}}, "signature": "setHarvesterAddress(address)"}}}}], "description": "InitializableAbstractStrategy.setHarvesterAddress(address)._harvesterAddress (contracts/utils/InitializableAbstractStrategy.sol#284) lacks a zero-check on :\n\t\t- harvesterAddress = _harvesterAddress (contracts/utils/InitializableAbstractStrategy.sol#289)\n", "markdown": "[InitializableAbstractStrategy.setHarvesterAddress(address)._harvesterAddress](contracts/utils/InitializableAbstractStrategy.sol#L284) lacks a zero-check on :\n\t\t- [harvesterAddress = _harvesterAddress](contracts/utils/InitializableAbstractStrategy.sol#L289)\n", "first_markdown_element": "contracts/utils/InitializableAbstractStrategy.sol#L284", "id": "d143cc7b353a06e136acbce2aa45bf9302e50de00e1a478565bbe1b8989abaa3", "check": "missing-zero-check", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "_cvxDepositorAddress", "source_mapping": {"start": 2330, "length": 28, "filename_relative": "contracts/strategies/ConvexStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexStrategy.sol", "filename_short": "contracts/strategies/ConvexStrategy.sol", "is_dependency": false, "lines": [56], "starting_column": 9, "ending_column": 37}, "type_specific_fields": {"parent": {"type": "function", "name": "initialize", "source_mapping": {"start": 2165, "length": 872, "filename_relative": "contracts/strategies/ConvexStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexStrategy.sol", "filename_short": "contracts/strategies/ConvexStrategy.sol", "is_dependency": false, "lines": [52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ConvexStrategy", "source_mapping": {"start": 918, "length": 5358, "filename_relative": "contracts/strategies/ConvexStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexStrategy.sol", "filename_short": "contracts/strategies/ConvexStrategy.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165], "starting_column": 1, "ending_column": 2}}, "signature": "initialize(address[],address[],address[],address,address,uint256)"}}}}, {"type": "node", "name": "cvxDepositorAddress = _cvxDepositorAddress", "source_mapping": {"start": 2675, "length": 42, "filename_relative": "contracts/strategies/ConvexStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexStrategy.sol", "filename_short": "contracts/strategies/ConvexStrategy.sol", "is_dependency": false, "lines": [63], "starting_column": 9, "ending_column": 51}, "type_specific_fields": {"parent": {"type": "function", "name": "initialize", "source_mapping": {"start": 2165, "length": 872, "filename_relative": "contracts/strategies/ConvexStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexStrategy.sol", "filename_short": "contracts/strategies/ConvexStrategy.sol", "is_dependency": false, "lines": [52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ConvexStrategy", "source_mapping": {"start": 918, "length": 5358, "filename_relative": "contracts/strategies/ConvexStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexStrategy.sol", "filename_short": "contracts/strategies/ConvexStrategy.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165], "starting_column": 1, "ending_column": 2}}, "signature": "initialize(address[],address[],address[],address,address,uint256)"}}}}], "description": "ConvexStrategy.initialize(address[],address[],address[],address,address,uint256)._cvxDepositorAddress (contracts/strategies/ConvexStrategy.sol#56) lacks a zero-check on :\n\t\t- cvxDepositorAddress = _cvxDepositorAddress (contracts/strategies/ConvexStrategy.sol#63)\n", "markdown": "[ConvexStrategy.initialize(address[],address[],address[],address,address,uint256)._cvxDepositorAddress](contracts/strategies/ConvexStrategy.sol#L56) lacks a zero-check on :\n\t\t- [cvxDepositorAddress = _cvxDepositorAddress](contracts/strategies/ConvexStrategy.sol#L63)\n", "first_markdown_element": "contracts/strategies/ConvexStrategy.sol#L56", "id": "3213523927f091aa04ef8e7d02a3f43dbbb6b0627bffa9f29bd4ff7c25650f30", "check": "missing-zero-check", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "_cvxRewardStakerAddress", "source_mapping": {"start": 2368, "length": 31, "filename_relative": "contracts/strategies/ConvexStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexStrategy.sol", "filename_short": "contracts/strategies/ConvexStrategy.sol", "is_dependency": false, "lines": [57], "starting_column": 9, "ending_column": 40}, "type_specific_fields": {"parent": {"type": "function", "name": "initialize", "source_mapping": {"start": 2165, "length": 872, "filename_relative": "contracts/strategies/ConvexStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexStrategy.sol", "filename_short": "contracts/strategies/ConvexStrategy.sol", "is_dependency": false, "lines": [52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ConvexStrategy", "source_mapping": {"start": 918, "length": 5358, "filename_relative": "contracts/strategies/ConvexStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexStrategy.sol", "filename_short": "contracts/strategies/ConvexStrategy.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165], "starting_column": 1, "ending_column": 2}}, "signature": "initialize(address[],address[],address[],address,address,uint256)"}}}}, {"type": "node", "name": "cvxRewardStakerAddress = _cvxRewardStakerAddress", "source_mapping": {"start": 2727, "length": 48, "filename_relative": "contracts/strategies/ConvexStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexStrategy.sol", "filename_short": "contracts/strategies/ConvexStrategy.sol", "is_dependency": false, "lines": [64], "starting_column": 9, "ending_column": 57}, "type_specific_fields": {"parent": {"type": "function", "name": "initialize", "source_mapping": {"start": 2165, "length": 872, "filename_relative": "contracts/strategies/ConvexStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexStrategy.sol", "filename_short": "contracts/strategies/ConvexStrategy.sol", "is_dependency": false, "lines": [52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ConvexStrategy", "source_mapping": {"start": 918, "length": 5358, "filename_relative": "contracts/strategies/ConvexStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexStrategy.sol", "filename_short": "contracts/strategies/ConvexStrategy.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165], "starting_column": 1, "ending_column": 2}}, "signature": "initialize(address[],address[],address[],address,address,uint256)"}}}}], "description": "ConvexStrategy.initialize(address[],address[],address[],address,address,uint256)._cvxRewardStakerAddress (contracts/strategies/ConvexStrategy.sol#57) lacks a zero-check on :\n\t\t- cvxRewardStakerAddress = _cvxRewardStakerAddress (contracts/strategies/ConvexStrategy.sol#64)\n", "markdown": "[ConvexStrategy.initialize(address[],address[],address[],address,address,uint256)._cvxRewardStakerAddress](contracts/strategies/ConvexStrategy.sol#L57) lacks a zero-check on :\n\t\t- [cvxRewardStakerAddress = _cvxRewardStakerAddress](contracts/strategies/ConvexStrategy.sol#L64)\n", "first_markdown_element": "contracts/strategies/ConvexStrategy.sol#L57", "id": "da534688094e24bafaa043ae6cc94bc5ffeb25c2a382cfcccd4aaf4e6d42623a", "check": "missing-zero-check", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "_crvGaugeAddress", "source_mapping": {"start": 2040, "length": 24, "filename_relative": "contracts/strategies/ThreePoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ThreePoolStrategy.sol", "filename_short": "contracts/strategies/ThreePoolStrategy.sol", "is_dependency": false, "lines": [52], "starting_column": 9, "ending_column": 33}, "type_specific_fields": {"parent": {"type": "function", "name": "initialize", "source_mapping": {"start": 1883, "length": 738, "filename_relative": "contracts/strategies/ThreePoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ThreePoolStrategy.sol", "filename_short": "contracts/strategies/ThreePoolStrategy.sol", "is_dependency": false, "lines": [48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ThreePoolStrategy", "source_mapping": {"start": 907, "length": 4607, "filename_relative": "contracts/strategies/ThreePoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ThreePoolStrategy.sol", "filename_short": "contracts/strategies/ThreePoolStrategy.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147], "starting_column": 1, "ending_column": 2}}, "signature": "initialize(address[],address[],address[],address,address)"}}}}, {"type": "node", "name": "crvGaugeAddress = _crvGaugeAddress", "source_mapping": {"start": 2336, "length": 34, "filename_relative": "contracts/strategies/ThreePoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ThreePoolStrategy.sol", "filename_short": "contracts/strategies/ThreePoolStrategy.sol", "is_dependency": false, "lines": [58], "starting_column": 9, "ending_column": 43}, "type_specific_fields": {"parent": {"type": "function", "name": "initialize", "source_mapping": {"start": 1883, "length": 738, "filename_relative": "contracts/strategies/ThreePoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ThreePoolStrategy.sol", "filename_short": "contracts/strategies/ThreePoolStrategy.sol", "is_dependency": false, "lines": [48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ThreePoolStrategy", "source_mapping": {"start": 907, "length": 4607, "filename_relative": "contracts/strategies/ThreePoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ThreePoolStrategy.sol", "filename_short": "contracts/strategies/ThreePoolStrategy.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147], "starting_column": 1, "ending_column": 2}}, "signature": "initialize(address[],address[],address[],address,address)"}}}}], "description": "ThreePoolStrategy.initialize(address[],address[],address[],address,address)._crvGaugeAddress (contracts/strategies/ThreePoolStrategy.sol#52) lacks a zero-check on :\n\t\t- crvGaugeAddress = _crvGaugeAddress (contracts/strategies/ThreePoolStrategy.sol#58)\n", "markdown": "[ThreePoolStrategy.initialize(address[],address[],address[],address,address)._crvGaugeAddress](contracts/strategies/ThreePoolStrategy.sol#L52) lacks a zero-check on :\n\t\t- [crvGaugeAddress = _crvGaugeAddress](contracts/strategies/ThreePoolStrategy.sol#L58)\n", "first_markdown_element": "contracts/strategies/ThreePoolStrategy.sol#L52", "id": "6f35bd932d18113cc4d1bb7b0bf9a8b775fab30b5f848ae3478ab2f421b379b3", "check": "missing-zero-check", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "_crvMinterAddress", "source_mapping": {"start": 2074, "length": 25, "filename_relative": "contracts/strategies/ThreePoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ThreePoolStrategy.sol", "filename_short": "contracts/strategies/ThreePoolStrategy.sol", "is_dependency": false, "lines": [53], "starting_column": 9, "ending_column": 34}, "type_specific_fields": {"parent": {"type": "function", "name": "initialize", "source_mapping": {"start": 1883, "length": 738, "filename_relative": "contracts/strategies/ThreePoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ThreePoolStrategy.sol", "filename_short": "contracts/strategies/ThreePoolStrategy.sol", "is_dependency": false, "lines": [48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ThreePoolStrategy", "source_mapping": {"start": 907, "length": 4607, "filename_relative": "contracts/strategies/ThreePoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ThreePoolStrategy.sol", "filename_short": "contracts/strategies/ThreePoolStrategy.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147], "starting_column": 1, "ending_column": 2}}, "signature": "initialize(address[],address[],address[],address,address)"}}}}, {"type": "node", "name": "crvMinterAddress = _crvMinterAddress", "source_mapping": {"start": 2380, "length": 36, "filename_relative": "contracts/strategies/ThreePoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ThreePoolStrategy.sol", "filename_short": "contracts/strategies/ThreePoolStrategy.sol", "is_dependency": false, "lines": [59], "starting_column": 9, "ending_column": 45}, "type_specific_fields": {"parent": {"type": "function", "name": "initialize", "source_mapping": {"start": 1883, "length": 738, "filename_relative": "contracts/strategies/ThreePoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ThreePoolStrategy.sol", "filename_short": "contracts/strategies/ThreePoolStrategy.sol", "is_dependency": false, "lines": [48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ThreePoolStrategy", "source_mapping": {"start": 907, "length": 4607, "filename_relative": "contracts/strategies/ThreePoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ThreePoolStrategy.sol", "filename_short": "contracts/strategies/ThreePoolStrategy.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147], "starting_column": 1, "ending_column": 2}}, "signature": "initialize(address[],address[],address[],address,address)"}}}}], "description": "ThreePoolStrategy.initialize(address[],address[],address[],address,address)._crvMinterAddress (contracts/strategies/ThreePoolStrategy.sol#53) lacks a zero-check on :\n\t\t- crvMinterAddress = _crvMinterAddress (contracts/strategies/ThreePoolStrategy.sol#59)\n", "markdown": "[ThreePoolStrategy.initialize(address[],address[],address[],address,address)._crvMinterAddress](contracts/strategies/ThreePoolStrategy.sol#L53) lacks a zero-check on :\n\t\t- [crvMinterAddress = _crvMinterAddress](contracts/strategies/ThreePoolStrategy.sol#L59)\n", "first_markdown_element": "contracts/strategies/ThreePoolStrategy.sol#L53", "id": "9f74241bfc7306eeff84a69c4d22a76a58167bf3ee8d15860195cde3c58436fe", "check": "missing-zero-check", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "_priceProvider", "source_mapping": {"start": 1209, "length": 22, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [42], "starting_column": 31, "ending_column": 53}, "type_specific_fields": {"parent": {"type": "function", "name": "setPriceProvider", "source_mapping": {"start": 1183, "length": 170, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [42, 43, 44, 45], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultAdmin", "source_mapping": {"start": 549, "length": 22063, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638], "starting_column": 1, "ending_column": 2}}, "signature": "setPriceProvider(address)"}}}}, {"type": "node", "name": "priceProvider = _priceProvider", "source_mapping": {"start": 1265, "length": 30, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [43], "starting_column": 9, "ending_column": 39}, "type_specific_fields": {"parent": {"type": "function", "name": "setPriceProvider", "source_mapping": {"start": 1183, "length": 170, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [42, 43, 44, 45], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultAdmin", "source_mapping": {"start": 549, "length": 22063, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638], "starting_column": 1, "ending_column": 2}}, "signature": "setPriceProvider(address)"}}}}], "description": "VaultAdmin.setPriceProvider(address)._priceProvider (contracts/vault/VaultAdmin.sol#42) lacks a zero-check on :\n\t\t- priceProvider = _priceProvider (contracts/vault/VaultAdmin.sol#43)\n", "markdown": "[VaultAdmin.setPriceProvider(address)._priceProvider](contracts/vault/VaultAdmin.sol#L42) lacks a zero-check on :\n\t\t- [priceProvider = _priceProvider](contracts/vault/VaultAdmin.sol#L43)\n", "first_markdown_element": "contracts/vault/VaultAdmin.sol#L42", "id": "3deb594a427270bd4a0db0885bbe96aac61a2aaba39e843358e913b90ac09f80", "check": "missing-zero-check", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "_address", "source_mapping": {"start": 3121, "length": 16, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [98], "starting_column": 32, "ending_column": 48}, "type_specific_fields": {"parent": {"type": "function", "name": "setStrategistAddr", "source_mapping": {"start": 3094, "length": 151, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [98, 99, 100, 101], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultAdmin", "source_mapping": {"start": 549, "length": 22063, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638], "starting_column": 1, "ending_column": 2}}, "signature": "setStrategistAddr(address)"}}}}, {"type": "node", "name": "strategistAddr = _address", "source_mapping": {"start": 3171, "length": 25, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [99], "starting_column": 9, "ending_column": 34}, "type_specific_fields": {"parent": {"type": "function", "name": "setStrategistAddr", "source_mapping": {"start": 3094, "length": 151, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [98, 99, 100, 101], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultAdmin", "source_mapping": {"start": 549, "length": 22063, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638], "starting_column": 1, "ending_column": 2}}, "signature": "setStrategistAddr(address)"}}}}], "description": "VaultAdmin.setStrategistAddr(address)._address (contracts/vault/VaultAdmin.sol#98) lacks a zero-check on :\n\t\t- strategistAddr = _address (contracts/vault/VaultAdmin.sol#99)\n", "markdown": "[VaultAdmin.setStrategistAddr(address)._address](contracts/vault/VaultAdmin.sol#L98) lacks a zero-check on :\n\t\t- [strategistAddr = _address](contracts/vault/VaultAdmin.sol#L99)\n", "first_markdown_element": "contracts/vault/VaultAdmin.sol#L98", "id": "252e9425a95e011fc9e4c72bd7af4cc4b72e09bec95203a4a3cb534b519a9c93", "check": "missing-zero-check", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "_address", "source_mapping": {"start": 18758, "length": 16, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [514], "starting_column": 32, "ending_column": 48}, "type_specific_fields": {"parent": {"type": "function", "name": "setTrusteeAddress", "source_mapping": {"start": 18731, "length": 155, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [514, 515, 516, 517], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultAdmin", "source_mapping": {"start": 549, "length": 22063, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638], "starting_column": 1, "ending_column": 2}}, "signature": "setTrusteeAddress(address)"}}}}, {"type": "node", "name": "trusteeAddress = _address", "source_mapping": {"start": 18808, "length": 25, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [515], "starting_column": 9, "ending_column": 34}, "type_specific_fields": {"parent": {"type": "function", "name": "setTrusteeAddress", "source_mapping": {"start": 18731, "length": 155, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [514, 515, 516, 517], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultAdmin", "source_mapping": {"start": 549, "length": 22063, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638], "starting_column": 1, "ending_column": 2}}, "signature": "setTrusteeAddress(address)"}}}}], "description": "VaultAdmin.setTrusteeAddress(address)._address (contracts/vault/VaultAdmin.sol#514) lacks a zero-check on :\n\t\t- trusteeAddress = _address (contracts/vault/VaultAdmin.sol#515)\n", "markdown": "[VaultAdmin.setTrusteeAddress(address)._address](contracts/vault/VaultAdmin.sol#L514) lacks a zero-check on :\n\t\t- [trusteeAddress = _address](contracts/vault/VaultAdmin.sol#L515)\n", "first_markdown_element": "contracts/vault/VaultAdmin.sol#L514", "id": "7d1c32f4b99d0bffc07196369c205fb2ae9e651ae1d272274db541037bd71d09", "check": "missing-zero-check", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "_ousdMetaStrategy", "source_mapping": {"start": 19395, "length": 25, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [533], "starting_column": 34, "ending_column": 59}, "type_specific_fields": {"parent": {"type": "function", "name": "setOusdMetaStrategy", "source_mapping": {"start": 19366, "length": 208, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [533, 534, 535, 536, 537, 538, 539], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultAdmin", "source_mapping": {"start": 549, "length": 22063, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638], "starting_column": 1, "ending_column": 2}}, "signature": "setOusdMetaStrategy(address)"}}}}, {"type": "node", "name": "ousdMetaStrategy = _ousdMetaStrategy", "source_mapping": {"start": 19474, "length": 36, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [537], "starting_column": 9, "ending_column": 45}, "type_specific_fields": {"parent": {"type": "function", "name": "setOusdMetaStrategy", "source_mapping": {"start": 19366, "length": 208, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [533, 534, 535, 536, 537, 538, 539], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultAdmin", "source_mapping": {"start": 549, "length": 22063, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638], "starting_column": 1, "ending_column": 2}}, "signature": "setOusdMetaStrategy(address)"}}}}], "description": "VaultAdmin.setOusdMetaStrategy(address)._ousdMetaStrategy (contracts/vault/VaultAdmin.sol#533) lacks a zero-check on :\n\t\t- ousdMetaStrategy = _ousdMetaStrategy (contracts/vault/VaultAdmin.sol#537)\n", "markdown": "[VaultAdmin.setOusdMetaStrategy(address)._ousdMetaStrategy](contracts/vault/VaultAdmin.sol#L533) lacks a zero-check on :\n\t\t- [ousdMetaStrategy = _ousdMetaStrategy](contracts/vault/VaultAdmin.sol#L537)\n", "first_markdown_element": "contracts/vault/VaultAdmin.sol#L533", "id": "28babfaed1526634e7a895660f18804eb22718683b18403c7678739cb4fe6a2d", "check": "missing-zero-check", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "executeTransaction", "source_mapping": {"start": 4611, "length": 1434, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Timelock", "source_mapping": {"start": 298, "length": 6391, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242], "starting_column": 1, "ending_column": 2}}, "signature": "executeTransaction(address,string,bytes,uint256)"}}, {"type": "node", "name": "(success,returnData) = target.call(callData)", "source_mapping": {"start": 5793, "length": 63, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [211], "starting_column": 9, "ending_column": 72}, "type_specific_fields": {"parent": {"type": "function", "name": "executeTransaction", "source_mapping": {"start": 4611, "length": 1434, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Timelock", "source_mapping": {"start": 298, "length": 6391, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242], "starting_column": 1, "ending_column": 2}}, "signature": "executeTransaction(address,string,bytes,uint256)"}}}}], "description": "Timelock.executeTransaction(address,string,bytes,uint256) (contracts/timelock/Timelock.sol#171-220) has external calls inside a loop: (success,returnData) = target.call(callData) (contracts/timelock/Timelock.sol#211)\n", "markdown": "[Timelock.executeTransaction(address,string,bytes,uint256)](contracts/timelock/Timelock.sol#L171-L220) has external calls inside a loop: [(success,returnData) = target.call(callData)](contracts/timelock/Timelock.sol#L211)\n", "first_markdown_element": "contracts/timelock/Timelock.sol#L171-L220", "id": "815e942a7362f173d569e0a7c2f4c380dd0b4f0cbc9ddf9defee68ea5c0415a7", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "depositAll", "source_mapping": {"start": 2980, "length": 317, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.sol", "is_dependency": false, "lines": [88, 89, 90, 91, 92, 93, 94, 95], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AaveStrategy", "source_mapping": {"start": 536, "length": 10399, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305], "starting_column": 1, "ending_column": 2}}, "signature": "depositAll()"}}, {"type": "node", "name": "balance = IERC20(assetsMapped[i]).balanceOf(address(this))", "source_mapping": {"start": 3117, "length": 66, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.sol", "is_dependency": false, "lines": [90], "starting_column": 13, "ending_column": 79}, "type_specific_fields": {"parent": {"type": "function", "name": "depositAll", "source_mapping": {"start": 2980, "length": 317, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.sol", "is_dependency": false, "lines": [88, 89, 90, 91, 92, 93, 94, 95], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AaveStrategy", "source_mapping": {"start": 536, "length": 10399, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305], "starting_column": 1, "ending_column": 2}}, "signature": "depositAll()"}}}}], "description": "AaveStrategy.depositAll() (contracts/strategies/AaveStrategy.sol#88-95) has external calls inside a loop: balance = IERC20(assetsMapped[i]).balanceOf(address(this)) (contracts/strategies/AaveStrategy.sol#90)\n", "markdown": "[AaveStrategy.depositAll()](contracts/strategies/AaveStrategy.sol#L88-L95) has external calls inside a loop: [balance = IERC20(assetsMapped[i]).balanceOf(address(this))](contracts/strategies/AaveStrategy.sol#L90)\n", "first_markdown_element": "contracts/strategies/AaveStrategy.sol#L88-L95", "id": "7686dd6183d0c233d6c0ef173f8ea17264005132d1e3daad6cb43161c2b284fa", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_getLendingPool", "source_mapping": {"start": 7819, "length": 304, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.sol", "is_dependency": false, "lines": [225, 226, 227, 228, 229, 230], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AaveStrategy", "source_mapping": {"start": 536, "length": 10399, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305], "starting_column": 1, "ending_column": 2}}, "signature": "_getLendingPool()"}}, {"type": "node", "name": "lendingPool = ILendingPoolAddressesProvider(platformAddress).getLendingPool()", "source_mapping": {"start": 7897, "length": 98, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.sol", "is_dependency": false, "lines": [226, 227], "starting_column": 9, "ending_column": 30}, "type_specific_fields": {"parent": {"type": "function", "name": "_getLendingPool", "source_mapping": {"start": 7819, "length": 304, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.sol", "is_dependency": false, "lines": [225, 226, 227, 228, 229, 230], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AaveStrategy", "source_mapping": {"start": 536, "length": 10399, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305], "starting_column": 1, "ending_column": 2}}, "signature": "_getLendingPool()"}}}}], "description": "AaveStrategy._getLendingPool() (contracts/strategies/AaveStrategy.sol#225-230) has external calls inside a loop: lendingPool = ILendingPoolAddressesProvider(platformAddress).getLendingPool() (contracts/strategies/AaveStrategy.sol#226-227)\n", "markdown": "[AaveStrategy._getLendingPool()](contracts/strategies/AaveStrategy.sol#L225-L230) has external calls inside a loop: [lendingPool = ILendingPoolAddressesProvider(platformAddress).getLendingPool()](contracts/strategies/AaveStrategy.sol#L226-L227)\n", "first_markdown_element": "contracts/strategies/AaveStrategy.sol#L225-L230", "id": "4bb181f0a78c9a355f007fde6a11ec1cbb6c7356b376729891915e40a7c6110c", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_deposit", "source_mapping": {"start": 2510, "length": 376, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.sol", "is_dependency": false, "lines": [77, 78, 79, 80, 81, 82, 83], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AaveStrategy", "source_mapping": {"start": 536, "length": 10399, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305], "starting_column": 1, "ending_column": 2}}, "signature": "_deposit(address,uint256)"}}, {"type": "node", "name": "_getLendingPool().deposit(_asset,_amount,address(this),referralCode)", "source_mapping": {"start": 2808, "length": 71, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.sol", "is_dependency": false, "lines": [82], "starting_column": 9, "ending_column": 80}, "type_specific_fields": {"parent": {"type": "function", "name": "_deposit", "source_mapping": {"start": 2510, "length": 376, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.sol", "is_dependency": false, "lines": [77, 78, 79, 80, 81, 82, 83], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AaveStrategy", "source_mapping": {"start": 536, "length": 10399, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305], "starting_column": 1, "ending_column": 2}}, "signature": "_deposit(address,uint256)"}}}}], "description": "AaveStrategy._deposit(address,uint256) (contracts/strategies/AaveStrategy.sol#77-83) has external calls inside a loop: _getLendingPool().deposit(_asset,_amount,address(this),referralCode) (contracts/strategies/AaveStrategy.sol#82)\n", "markdown": "[AaveStrategy._deposit(address,uint256)](contracts/strategies/AaveStrategy.sol#L77-L83) has external calls inside a loop: [_getLendingPool().deposit(_asset,_amount,address(this),referralCode)](contracts/strategies/AaveStrategy.sol#L82)\n", "first_markdown_element": "contracts/strategies/AaveStrategy.sol#L77-L83", "id": "c35bfc6fba74dfc455c150b843b77a3b5aa6e153f16a8f2c3c08ba94977d23f3", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "withdrawAll", "source_mapping": {"start": 4208, "length": 937, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.sol", "is_dependency": false, "lines": [124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AaveStrategy", "source_mapping": {"start": 536, "length": 10399, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305], "starting_column": 1, "ending_column": 2}}, "signature": "withdrawAll()"}}, {"type": "node", "name": "balance = IERC20(aToken).balanceOf(address(this))", "source_mapping": {"start": 4516, "length": 57, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.sol", "is_dependency": false, "lines": [129], "starting_column": 13, "ending_column": 70}, "type_specific_fields": {"parent": {"type": "function", "name": "withdrawAll", "source_mapping": {"start": 4208, "length": 937, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.sol", "is_dependency": false, "lines": [124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AaveStrategy", "source_mapping": {"start": 536, "length": 10399, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305], "starting_column": 1, "ending_column": 2}}, "signature": "withdrawAll()"}}}}], "description": "AaveStrategy.withdrawAll() (contracts/strategies/AaveStrategy.sol#124-145) has external calls inside a loop: balance = IERC20(aToken).balanceOf(address(this)) (contracts/strategies/AaveStrategy.sol#129)\n", "markdown": "[AaveStrategy.withdrawAll()](contracts/strategies/AaveStrategy.sol#L124-L145) has external calls inside a loop: [balance = IERC20(aToken).balanceOf(address(this))](contracts/strategies/AaveStrategy.sol#L129)\n", "first_markdown_element": "contracts/strategies/AaveStrategy.sol#L124-L145", "id": "1748bb83b0ab018b31c2a0a51912ee976d27ea6966b10afa0d540c9175e5ffe3", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "withdrawAll", "source_mapping": {"start": 4208, "length": 937, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.sol", "is_dependency": false, "lines": [124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AaveStrategy", "source_mapping": {"start": 536, "length": 10399, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305], "starting_column": 1, "ending_column": 2}}, "signature": "withdrawAll()"}}, {"type": "node", "name": "actual = _getLendingPool().withdraw(address(asset),balance,address(this))", "source_mapping": {"start": 4622, "length": 161, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.sol", "is_dependency": false, "lines": [131, 132, 133, 134, 135], "starting_column": 17, "ending_column": 18}, "type_specific_fields": {"parent": {"type": "function", "name": "withdrawAll", "source_mapping": {"start": 4208, "length": 937, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.sol", "is_dependency": false, "lines": [124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AaveStrategy", "source_mapping": {"start": 536, "length": 10399, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305], "starting_column": 1, "ending_column": 2}}, "signature": "withdrawAll()"}}}}], "description": "AaveStrategy.withdrawAll() (contracts/strategies/AaveStrategy.sol#124-145) has external calls inside a loop: actual = _getLendingPool().withdraw(address(asset),balance,address(this)) (contracts/strategies/AaveStrategy.sol#131-135)\n", "markdown": "[AaveStrategy.withdrawAll()](contracts/strategies/AaveStrategy.sol#L124-L145) has external calls inside a loop: [actual = _getLendingPool().withdraw(address(asset),balance,address(this))](contracts/strategies/AaveStrategy.sol#L131-L135)\n", "first_markdown_element": "contracts/strategies/AaveStrategy.sol#L124-L145", "id": "d22b2f64776cd06c6f597cea2a4e57afb99165cc02ae4a2e4ede576c324cac52", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "withdrawAll", "source_mapping": {"start": 4208, "length": 937, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.sol", "is_dependency": false, "lines": [124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AaveStrategy", "source_mapping": {"start": 536, "length": 10399, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305], "starting_column": 1, "ending_column": 2}}, "signature": "withdrawAll()"}}, {"type": "node", "name": "assetBalance = asset.balanceOf(address(this))", "source_mapping": {"start": 4873, "length": 53, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.sol", "is_dependency": false, "lines": [138], "starting_column": 17, "ending_column": 70}, "type_specific_fields": {"parent": {"type": "function", "name": "withdrawAll", "source_mapping": {"start": 4208, "length": 937, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.sol", "is_dependency": false, "lines": [124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AaveStrategy", "source_mapping": {"start": 536, "length": 10399, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305], "starting_column": 1, "ending_column": 2}}, "signature": "withdrawAll()"}}}}], "description": "AaveStrategy.withdrawAll() (contracts/strategies/AaveStrategy.sol#124-145) has external calls inside a loop: assetBalance = asset.balanceOf(address(this)) (contracts/strategies/AaveStrategy.sol#138)\n", "markdown": "[AaveStrategy.withdrawAll()](contracts/strategies/AaveStrategy.sol#L124-L145) has external calls inside a loop: [assetBalance = asset.balanceOf(address(this))](contracts/strategies/AaveStrategy.sol#L138)\n", "first_markdown_element": "contracts/strategies/AaveStrategy.sol#L124-L145", "id": "7388933ebb9596d44a5f89fadf802725bb5702925a16bf7719fc3cd8adc2ba91", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "depositAll", "source_mapping": {"start": 2273, "length": 1730, "filename_relative": "contracts/strategies/BaseCurveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/BaseCurveStrategy.sol", "filename_short": "contracts/strategies/BaseCurveStrategy.sol", "is_dependency": false, "lines": [65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseCurveStrategy", "source_mapping": {"start": 536, "length": 11031, "filename_relative": "contracts/strategies/BaseCurveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/BaseCurveStrategy.sol", "filename_short": "contracts/strategies/BaseCurveStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302], "starting_column": 1, "ending_column": 2}}, "signature": "depositAll()"}}, {"type": "node", "name": "balance = IERC20(assetAddress).balanceOf(address(this))", "source_mapping": {"start": 2699, "length": 63, "filename_relative": "contracts/strategies/BaseCurveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/BaseCurveStrategy.sol", "filename_short": "contracts/strategies/BaseCurveStrategy.sol", "is_dependency": false, "lines": [73], "starting_column": 13, "ending_column": 76}, "type_specific_fields": {"parent": {"type": "function", "name": "depositAll", "source_mapping": {"start": 2273, "length": 1730, "filename_relative": "contracts/strategies/BaseCurveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/BaseCurveStrategy.sol", "filename_short": "contracts/strategies/BaseCurveStrategy.sol", "is_dependency": false, "lines": [65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseCurveStrategy", "source_mapping": {"start": 536, "length": 11031, "filename_relative": "contracts/strategies/BaseCurveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/BaseCurveStrategy.sol", "filename_short": "contracts/strategies/BaseCurveStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302], "starting_column": 1, "ending_column": 2}}, "signature": "depositAll()"}}}}], "description": "BaseCurveStrategy.depositAll() (contracts/strategies/BaseCurveStrategy.sol#65-101) has external calls inside a loop: balance = IERC20(assetAddress).balanceOf(address(this)) (contracts/strategies/BaseCurveStrategy.sol#73)\n", "markdown": "[BaseCurveStrategy.depositAll()](contracts/strategies/BaseCurveStrategy.sol#L65-L101) has external calls inside a loop: [balance = IERC20(assetAddress).balanceOf(address(this))](contracts/strategies/BaseCurveStrategy.sol#L73)\n", "first_markdown_element": "contracts/strategies/BaseCurveStrategy.sol#L65-L101", "id": "26a5a219889d82faba6f7fea83aeeb1f2fc2cc777e2272d5f590157842bec8d6", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "withdrawAll", "source_mapping": {"start": 7994, "length": 924, "filename_relative": "contracts/strategies/BaseCurveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/BaseCurveStrategy.sol", "filename_short": "contracts/strategies/BaseCurveStrategy.sol", "is_dependency": false, "lines": [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": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseCurveStrategy", "source_mapping": {"start": 536, "length": 11031, "filename_relative": "contracts/strategies/BaseCurveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/BaseCurveStrategy.sol", "filename_short": "contracts/strategies/BaseCurveStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302], "starting_column": 1, "ending_column": 2}}, "signature": "withdrawAll()"}}, {"type": "node", "name": "asset = IERC20(threePool.coins(i))", "source_mapping": {"start": 8782, "length": 41, "filename_relative": "contracts/strategies/BaseCurveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/BaseCurveStrategy.sol", "filename_short": "contracts/strategies/BaseCurveStrategy.sol", "is_dependency": false, "lines": [220], "starting_column": 13, "ending_column": 54}, "type_specific_fields": {"parent": {"type": "function", "name": "withdrawAll", "source_mapping": {"start": 7994, "length": 924, "filename_relative": "contracts/strategies/BaseCurveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/BaseCurveStrategy.sol", "filename_short": "contracts/strategies/BaseCurveStrategy.sol", "is_dependency": false, "lines": [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": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseCurveStrategy", "source_mapping": {"start": 536, "length": 11031, "filename_relative": "contracts/strategies/BaseCurveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/BaseCurveStrategy.sol", "filename_short": "contracts/strategies/BaseCurveStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302], "starting_column": 1, "ending_column": 2}}, "signature": "withdrawAll()"}}}}], "description": "BaseCurveStrategy.withdrawAll() (contracts/strategies/BaseCurveStrategy.sol#201-223) has external calls inside a loop: asset = IERC20(threePool.coins(i)) (contracts/strategies/BaseCurveStrategy.sol#220)\n", "markdown": "[BaseCurveStrategy.withdrawAll()](contracts/strategies/BaseCurveStrategy.sol#L201-L223) has external calls inside a loop: [asset = IERC20(threePool.coins(i))](contracts/strategies/BaseCurveStrategy.sol#L220)\n", "first_markdown_element": "contracts/strategies/BaseCurveStrategy.sol#L201-L223", "id": "de6309ed193ff3f223a7d8dba1deab2a4bc48fcf81c9f1e9097d15fc5a805edc", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "withdrawAll", "source_mapping": {"start": 7994, "length": 924, "filename_relative": "contracts/strategies/BaseCurveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/BaseCurveStrategy.sol", "filename_short": "contracts/strategies/BaseCurveStrategy.sol", "is_dependency": false, "lines": [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": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseCurveStrategy", "source_mapping": {"start": 536, "length": 11031, "filename_relative": "contracts/strategies/BaseCurveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/BaseCurveStrategy.sol", "filename_short": "contracts/strategies/BaseCurveStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302], "starting_column": 1, "ending_column": 2}}, "signature": "withdrawAll()"}}, {"type": "node", "name": "asset.safeTransfer(vaultAddress,asset.balanceOf(address(this)))", "source_mapping": {"start": 8837, "length": 64, "filename_relative": "contracts/strategies/BaseCurveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/BaseCurveStrategy.sol", "filename_short": "contracts/strategies/BaseCurveStrategy.sol", "is_dependency": false, "lines": [221], "starting_column": 13, "ending_column": 77}, "type_specific_fields": {"parent": {"type": "function", "name": "withdrawAll", "source_mapping": {"start": 7994, "length": 924, "filename_relative": "contracts/strategies/BaseCurveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/BaseCurveStrategy.sol", "filename_short": "contracts/strategies/BaseCurveStrategy.sol", "is_dependency": false, "lines": [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": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseCurveStrategy", "source_mapping": {"start": 536, "length": 11031, "filename_relative": "contracts/strategies/BaseCurveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/BaseCurveStrategy.sol", "filename_short": "contracts/strategies/BaseCurveStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302], "starting_column": 1, "ending_column": 2}}, "signature": "withdrawAll()"}}}}], "description": "BaseCurveStrategy.withdrawAll() (contracts/strategies/BaseCurveStrategy.sol#201-223) has external calls inside a loop: asset.safeTransfer(vaultAddress,asset.balanceOf(address(this))) (contracts/strategies/BaseCurveStrategy.sol#221)\n", "markdown": "[BaseCurveStrategy.withdrawAll()](contracts/strategies/BaseCurveStrategy.sol#L201-L223) has external calls inside a loop: [asset.safeTransfer(vaultAddress,asset.balanceOf(address(this)))](contracts/strategies/BaseCurveStrategy.sol#L221)\n", "first_markdown_element": "contracts/strategies/BaseCurveStrategy.sol#L201-L223", "id": "593d1e89d07d856e5e82980f5fe21389070ef42151709df1d09c9a3f85a986eb", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "depositAll", "source_mapping": {"start": 3741, "length": 406, "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [106, 107, 108, 109, 110, 111, 112, 113, 114, 115], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompoundStrategy", "source_mapping": {"start": 573, "length": 7942, "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230], "starting_column": 1, "ending_column": 2}}, "signature": "depositAll()"}}, {"type": "node", "name": "assetBalance = asset.balanceOf(address(this))", "source_mapping": {"start": 3971, "length": 53, "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [110], "starting_column": 13, "ending_column": 66}, "type_specific_fields": {"parent": {"type": "function", "name": "depositAll", "source_mapping": {"start": 3741, "length": 406, "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [106, 107, 108, 109, 110, 111, 112, 113, 114, 115], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompoundStrategy", "source_mapping": {"start": 573, "length": 7942, "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230], "starting_column": 1, "ending_column": 2}}, "signature": "depositAll()"}}}}], "description": "CompoundStrategy.depositAll() (contracts/strategies/CompoundStrategy.sol#106-115) has external calls inside a loop: assetBalance = asset.balanceOf(address(this)) (contracts/strategies/CompoundStrategy.sol#110)\n", "markdown": "[CompoundStrategy.depositAll()](contracts/strategies/CompoundStrategy.sol#L106-L115) has external calls inside a loop: [assetBalance = asset.balanceOf(address(this))](contracts/strategies/CompoundStrategy.sol#L110)\n", "first_markdown_element": "contracts/strategies/CompoundStrategy.sol#L106-L115", "id": "505213902c7623ffa7d65911e507482538c2bb5612cfa427ab25f2f6fb97d375", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_deposit", "source_mapping": {"start": 3316, "length": 293, "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [96, 97, 98, 99, 100, 101], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompoundStrategy", "source_mapping": {"start": 573, "length": 7942, "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230], "starting_column": 1, "ending_column": 2}}, "signature": "_deposit(address,uint256)"}}, {"type": "node", "name": "require(bool,string)(cToken.mint(_amount) == 0,cToken mint failed)", "source_mapping": {"start": 3546, "length": 56, "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [100], "starting_column": 9, "ending_column": 65}, "type_specific_fields": {"parent": {"type": "function", "name": "_deposit", "source_mapping": {"start": 3316, "length": 293, "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [96, 97, 98, 99, 100, 101], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompoundStrategy", "source_mapping": {"start": 573, "length": 7942, "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230], "starting_column": 1, "ending_column": 2}}, "signature": "_deposit(address,uint256)"}}}}], "description": "CompoundStrategy._deposit(address,uint256) (contracts/strategies/CompoundStrategy.sol#96-101) has external calls inside a loop: require(bool,string)(cToken.mint(_amount) == 0,cToken mint failed) (contracts/strategies/CompoundStrategy.sol#100)\n", "markdown": "[CompoundStrategy._deposit(address,uint256)](contracts/strategies/CompoundStrategy.sol#L96-L101) has external calls inside a loop: [require(bool,string)(cToken.mint(_amount) == 0,cToken mint failed)](contracts/strategies/CompoundStrategy.sol#L100)\n", "first_markdown_element": "contracts/strategies/CompoundStrategy.sol#L96-L101", "id": "8fbacbec6014be1d4227c8c59b96a7989248f7e6178f17cac255ad4b6b58fb03", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "withdrawAll", "source_mapping": {"start": 5860, "length": 816, "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompoundStrategy", "source_mapping": {"start": 573, "length": 7942, "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230], "starting_column": 1, "ending_column": 2}}, "signature": "withdrawAll()"}}, {"type": "node", "name": "cTokenBalance = cToken.balanceOf(address(this))", "source_mapping": {"start": 6208, "length": 55, "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [168], "starting_column": 13, "ending_column": 68}, "type_specific_fields": {"parent": {"type": "function", "name": "withdrawAll", "source_mapping": {"start": 5860, "length": 816, "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompoundStrategy", "source_mapping": {"start": 573, "length": 7942, "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230], "starting_column": 1, "ending_column": 2}}, "signature": "withdrawAll()"}}}}], "description": "CompoundStrategy.withdrawAll() (contracts/strategies/CompoundStrategy.sol#162-178) has external calls inside a loop: cTokenBalance = cToken.balanceOf(address(this)) (contracts/strategies/CompoundStrategy.sol#168)\n", "markdown": "[CompoundStrategy.withdrawAll()](contracts/strategies/CompoundStrategy.sol#L162-L178) has external calls inside a loop: [cTokenBalance = cToken.balanceOf(address(this))](contracts/strategies/CompoundStrategy.sol#L168)\n", "first_markdown_element": "contracts/strategies/CompoundStrategy.sol#L162-L178", "id": "149d284adde5b0357a4dbc74884794fdaa75de3ba6125b6544dd7d67224f3a4b", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "withdrawAll", "source_mapping": {"start": 5860, "length": 816, "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompoundStrategy", "source_mapping": {"start": 573, "length": 7942, "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230], "starting_column": 1, "ending_column": 2}}, "signature": "withdrawAll()"}}, {"type": "node", "name": "require(bool,string)(cToken.redeem(cTokenBalance) == 0,Redeem failed)", "source_mapping": {"start": 6318, "length": 59, "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [170], "starting_column": 17, "ending_column": 76}, "type_specific_fields": {"parent": {"type": "function", "name": "withdrawAll", "source_mapping": {"start": 5860, "length": 816, "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompoundStrategy", "source_mapping": {"start": 573, "length": 7942, "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230], "starting_column": 1, "ending_column": 2}}, "signature": "withdrawAll()"}}}}], "description": "CompoundStrategy.withdrawAll() (contracts/strategies/CompoundStrategy.sol#162-178) has external calls inside a loop: require(bool,string)(cToken.redeem(cTokenBalance) == 0,Redeem failed) (contracts/strategies/CompoundStrategy.sol#170)\n", "markdown": "[CompoundStrategy.withdrawAll()](contracts/strategies/CompoundStrategy.sol#L162-L178) has external calls inside a loop: [require(bool,string)(cToken.redeem(cTokenBalance) == 0,Redeem failed)](contracts/strategies/CompoundStrategy.sol#L170)\n", "first_markdown_element": "contracts/strategies/CompoundStrategy.sol#L162-L178", "id": "223811401cd4eb99f41b98af2965bf8a5e4bcb66060973f0cb0c94a7866469cc", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "withdrawAll", "source_mapping": {"start": 5860, "length": 816, "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompoundStrategy", "source_mapping": {"start": 573, "length": 7942, "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230], "starting_column": 1, "ending_column": 2}}, "signature": "withdrawAll()"}}, {"type": "node", "name": "assetBalance = asset.balanceOf(address(this))", "source_mapping": {"start": 6395, "length": 53, "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [171], "starting_column": 17, "ending_column": 70}, "type_specific_fields": {"parent": {"type": "function", "name": "withdrawAll", "source_mapping": {"start": 5860, "length": 816, "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompoundStrategy", "source_mapping": {"start": 573, "length": 7942, "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230], "starting_column": 1, "ending_column": 2}}, "signature": "withdrawAll()"}}}}], "description": "CompoundStrategy.withdrawAll() (contracts/strategies/CompoundStrategy.sol#162-178) has external calls inside a loop: assetBalance = asset.balanceOf(address(this)) (contracts/strategies/CompoundStrategy.sol#171)\n", "markdown": "[CompoundStrategy.withdrawAll()](contracts/strategies/CompoundStrategy.sol#L162-L178) has external calls inside a loop: [assetBalance = asset.balanceOf(address(this))](contracts/strategies/CompoundStrategy.sol#L171)\n", "first_markdown_element": "contracts/strategies/CompoundStrategy.sol#L162-L178", "id": "0707313dc597c816003534228c728430a01d5cd74f337454d1e1723628fe0397", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "depositAll", "source_mapping": {"start": 4527, "length": 317, "filename_relative": "contracts/strategies/MorphoAaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoAaveStrategy.sol", "filename_short": "contracts/strategies/MorphoAaveStrategy.sol", "is_dependency": false, "lines": [138, 139, 140, 141, 142, 143, 144, 145], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MorphoAaveStrategy", "source_mapping": {"start": 563, "length": 7087, "filename_relative": "contracts/strategies/MorphoAaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoAaveStrategy.sol", "filename_short": "contracts/strategies/MorphoAaveStrategy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235], "starting_column": 1, "ending_column": 2}}, "signature": "depositAll()"}}, {"type": "node", "name": "balance = IERC20(assetsMapped[i]).balanceOf(address(this))", "source_mapping": {"start": 4664, "length": 66, "filename_relative": "contracts/strategies/MorphoAaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoAaveStrategy.sol", "filename_short": "contracts/strategies/MorphoAaveStrategy.sol", "is_dependency": false, "lines": [140], "starting_column": 13, "ending_column": 79}, "type_specific_fields": {"parent": {"type": "function", "name": "depositAll", "source_mapping": {"start": 4527, "length": 317, "filename_relative": "contracts/strategies/MorphoAaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoAaveStrategy.sol", "filename_short": "contracts/strategies/MorphoAaveStrategy.sol", "is_dependency": false, "lines": [138, 139, 140, 141, 142, 143, 144, 145], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MorphoAaveStrategy", "source_mapping": {"start": 563, "length": 7087, "filename_relative": "contracts/strategies/MorphoAaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoAaveStrategy.sol", "filename_short": "contracts/strategies/MorphoAaveStrategy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235], "starting_column": 1, "ending_column": 2}}, "signature": "depositAll()"}}}}], "description": "MorphoAaveStrategy.depositAll() (contracts/strategies/MorphoAaveStrategy.sol#138-145) has external calls inside a loop: balance = IERC20(assetsMapped[i]).balanceOf(address(this)) (contracts/strategies/MorphoAaveStrategy.sol#140)\n", "markdown": "[MorphoAaveStrategy.depositAll()](contracts/strategies/MorphoAaveStrategy.sol#L138-L145) has external calls inside a loop: [balance = IERC20(assetsMapped[i]).balanceOf(address(this))](contracts/strategies/MorphoAaveStrategy.sol#L140)\n", "first_markdown_element": "contracts/strategies/MorphoAaveStrategy.sol#L138-L145", "id": "7206326cf9f3850b8c3373c2658a680a831e5ef9eaf2f6cf23907d5cd548bcb9", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_deposit", "source_mapping": {"start": 4033, "length": 398, "filename_relative": "contracts/strategies/MorphoAaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoAaveStrategy.sol", "filename_short": "contracts/strategies/MorphoAaveStrategy.sol", "is_dependency": false, "lines": [122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MorphoAaveStrategy", "source_mapping": {"start": 563, "length": 7087, "filename_relative": "contracts/strategies/MorphoAaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoAaveStrategy.sol", "filename_short": "contracts/strategies/MorphoAaveStrategy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235], "starting_column": 1, "ending_column": 2}}, "signature": "_deposit(address,uint256)"}}, {"type": "node", "name": "IMorpho(MORPHO).supply(pToken,address(this),_amount)", "source_mapping": {"start": 4218, "length": 159, "filename_relative": "contracts/strategies/MorphoAaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoAaveStrategy.sol", "filename_short": "contracts/strategies/MorphoAaveStrategy.sol", "is_dependency": false, "lines": [127, 128, 129, 130, 131], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "_deposit", "source_mapping": {"start": 4033, "length": 398, "filename_relative": "contracts/strategies/MorphoAaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoAaveStrategy.sol", "filename_short": "contracts/strategies/MorphoAaveStrategy.sol", "is_dependency": false, "lines": [122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MorphoAaveStrategy", "source_mapping": {"start": 563, "length": 7087, "filename_relative": "contracts/strategies/MorphoAaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoAaveStrategy.sol", "filename_short": "contracts/strategies/MorphoAaveStrategy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235], "starting_column": 1, "ending_column": 2}}, "signature": "_deposit(address,uint256)"}}}}], "description": "MorphoAaveStrategy._deposit(address,uint256) (contracts/strategies/MorphoAaveStrategy.sol#122-133) has external calls inside a loop: IMorpho(MORPHO).supply(pToken,address(this),_amount) (contracts/strategies/MorphoAaveStrategy.sol#127-131)\n", "markdown": "[MorphoAaveStrategy._deposit(address,uint256)](contracts/strategies/MorphoAaveStrategy.sol#L122-L133) has external calls inside a loop: [IMorpho(MORPHO).supply(pToken,address(this),_amount)](contracts/strategies/MorphoAaveStrategy.sol#L127-L131)\n", "first_markdown_element": "contracts/strategies/MorphoAaveStrategy.sol#L122-L133", "id": "adb7745bb6af9b1ff21db721d3e5e1fb1e5ae38e9c70c309592e2e4494babd48", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_checkBalance", "source_mapping": {"start": 6528, "length": 369, "filename_relative": "contracts/strategies/MorphoAaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoAaveStrategy.sol", "filename_short": "contracts/strategies/MorphoAaveStrategy.sol", "is_dependency": false, "lines": [202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MorphoAaveStrategy", "source_mapping": {"start": 563, "length": 7087, "filename_relative": "contracts/strategies/MorphoAaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoAaveStrategy.sol", "filename_short": "contracts/strategies/MorphoAaveStrategy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235], "starting_column": 1, "ending_column": 2}}, "signature": "_checkBalance(address)"}}, {"type": "node", "name": "(None,None,balance) = ILens(LENS).getCurrentSupplyBalanceInOf(pToken,address(this))", "source_mapping": {"start": 6778, "length": 112, "filename_relative": "contracts/strategies/MorphoAaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoAaveStrategy.sol", "filename_short": "contracts/strategies/MorphoAaveStrategy.sol", "is_dependency": false, "lines": [210, 211, 212, 213], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "_checkBalance", "source_mapping": {"start": 6528, "length": 369, "filename_relative": "contracts/strategies/MorphoAaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoAaveStrategy.sol", "filename_short": "contracts/strategies/MorphoAaveStrategy.sol", "is_dependency": false, "lines": [202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MorphoAaveStrategy", "source_mapping": {"start": 563, "length": 7087, "filename_relative": "contracts/strategies/MorphoAaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoAaveStrategy.sol", "filename_short": "contracts/strategies/MorphoAaveStrategy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235], "starting_column": 1, "ending_column": 2}}, "signature": "_checkBalance(address)"}}}}], "description": "MorphoAaveStrategy._checkBalance(address) (contracts/strategies/MorphoAaveStrategy.sol#202-214) has external calls inside a loop: (None,None,balance) = ILens(LENS).getCurrentSupplyBalanceInOf(pToken,address(this)) (contracts/strategies/MorphoAaveStrategy.sol#210-213)\n", "markdown": "[MorphoAaveStrategy._checkBalance(address)](contracts/strategies/MorphoAaveStrategy.sol#L202-L214) has external calls inside a loop: [(None,None,balance) = ILens(LENS).getCurrentSupplyBalanceInOf(pToken,address(this))](contracts/strategies/MorphoAaveStrategy.sol#L210-L213)\n", "first_markdown_element": "contracts/strategies/MorphoAaveStrategy.sol#L202-L214", "id": "220be42dcba97453c7610337463fad683691f37a3037910a26a76754649f9e97", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_withdraw", "source_mapping": {"start": 5268, "length": 462, "filename_relative": "contracts/strategies/MorphoAaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoAaveStrategy.sol", "filename_short": "contracts/strategies/MorphoAaveStrategy.sol", "is_dependency": false, "lines": [161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MorphoAaveStrategy", "source_mapping": {"start": 563, "length": 7087, "filename_relative": "contracts/strategies/MorphoAaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoAaveStrategy.sol", "filename_short": "contracts/strategies/MorphoAaveStrategy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235], "starting_column": 1, "ending_column": 2}}, "signature": "_withdraw(address,address,uint256)"}}, {"type": "node", "name": "IMorpho(MORPHO).withdraw(pToken,_amount)", "source_mapping": {"start": 5574, "length": 41, "filename_relative": "contracts/strategies/MorphoAaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoAaveStrategy.sol", "filename_short": "contracts/strategies/MorphoAaveStrategy.sol", "is_dependency": false, "lines": [171], "starting_column": 9, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "function", "name": "_withdraw", "source_mapping": {"start": 5268, "length": 462, "filename_relative": "contracts/strategies/MorphoAaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoAaveStrategy.sol", "filename_short": "contracts/strategies/MorphoAaveStrategy.sol", "is_dependency": false, "lines": [161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MorphoAaveStrategy", "source_mapping": {"start": 563, "length": 7087, "filename_relative": "contracts/strategies/MorphoAaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoAaveStrategy.sol", "filename_short": "contracts/strategies/MorphoAaveStrategy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235], "starting_column": 1, "ending_column": 2}}, "signature": "_withdraw(address,address,uint256)"}}}}], "description": "MorphoAaveStrategy._withdraw(address,address,uint256) (contracts/strategies/MorphoAaveStrategy.sol#161-174) has external calls inside a loop: IMorpho(MORPHO).withdraw(pToken,_amount) (contracts/strategies/MorphoAaveStrategy.sol#171)\n", "markdown": "[MorphoAaveStrategy._withdraw(address,address,uint256)](contracts/strategies/MorphoAaveStrategy.sol#L161-L174) has external calls inside a loop: [IMorpho(MORPHO).withdraw(pToken,_amount)](contracts/strategies/MorphoAaveStrategy.sol#L171)\n", "first_markdown_element": "contracts/strategies/MorphoAaveStrategy.sol#L161-L174", "id": "c192265d9de64f6b8cfc330f5dc6cc9bcbda90da06eaa848b472fc4d750c26a9", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "depositAll", "source_mapping": {"start": 6175, "length": 317, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [174, 175, 176, 177, 178, 179, 180, 181], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MorphoCompoundStrategy", "source_mapping": {"start": 608, "length": 7945, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251], "starting_column": 1, "ending_column": 2}}, "signature": "depositAll()"}}, {"type": "node", "name": "balance = IERC20(assetsMapped[i]).balanceOf(address(this))", "source_mapping": {"start": 6312, "length": 66, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [176], "starting_column": 13, "ending_column": 79}, "type_specific_fields": {"parent": {"type": "function", "name": "depositAll", "source_mapping": {"start": 6175, "length": 317, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [174, 175, 176, 177, 178, 179, 180, 181], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MorphoCompoundStrategy", "source_mapping": {"start": 608, "length": 7945, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251], "starting_column": 1, "ending_column": 2}}, "signature": "depositAll()"}}}}], "description": "MorphoCompoundStrategy.depositAll() (contracts/strategies/MorphoCompoundStrategy.sol#174-181) has external calls inside a loop: balance = IERC20(assetsMapped[i]).balanceOf(address(this)) (contracts/strategies/MorphoCompoundStrategy.sol#176)\n", "markdown": "[MorphoCompoundStrategy.depositAll()](contracts/strategies/MorphoCompoundStrategy.sol#L174-L181) has external calls inside a loop: [balance = IERC20(assetsMapped[i]).balanceOf(address(this))](contracts/strategies/MorphoCompoundStrategy.sol#L176)\n", "first_markdown_element": "contracts/strategies/MorphoCompoundStrategy.sol#L174-L181", "id": "4435df0408ad605b1d2e27798ba6e462d538fd9071efe95dc10d203cdb733f91", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_deposit", "source_mapping": {"start": 5691, "length": 388, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [160, 161, 162, 163, 164, 165, 166, 167, 168, 169], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MorphoCompoundStrategy", "source_mapping": {"start": 608, "length": 7945, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251], "starting_column": 1, "ending_column": 2}}, "signature": "_deposit(address,uint256)"}}, {"type": "node", "name": "IMorpho(MORPHO).supply(address(_getCTokenFor(_asset)),address(this),_amount)", "source_mapping": {"start": 5818, "length": 183, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [163, 164, 165, 166, 167], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "_deposit", "source_mapping": {"start": 5691, "length": 388, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [160, 161, 162, 163, 164, 165, 166, 167, 168, 169], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MorphoCompoundStrategy", "source_mapping": {"start": 608, "length": 7945, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251], "starting_column": 1, "ending_column": 2}}, "signature": "_deposit(address,uint256)"}}}}], "description": "MorphoCompoundStrategy._deposit(address,uint256) (contracts/strategies/MorphoCompoundStrategy.sol#160-169) has external calls inside a loop: IMorpho(MORPHO).supply(address(_getCTokenFor(_asset)),address(this),_amount) (contracts/strategies/MorphoCompoundStrategy.sol#163-167)\n", "markdown": "[MorphoCompoundStrategy._deposit(address,uint256)](contracts/strategies/MorphoCompoundStrategy.sol#L160-L169) has external calls inside a loop: [IMorpho(MORPHO).supply(address(_getCTokenFor(_asset)),address(this),_amount)](contracts/strategies/MorphoCompoundStrategy.sol#L163-L167)\n", "first_markdown_element": "contracts/strategies/MorphoCompoundStrategy.sol#L160-L169", "id": "e592dc99deb78a918cb70c7429ad3dccfd6cefc567796490d8ad0191fb3ce3cf", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_checkBalance", "source_mapping": {"start": 8191, "length": 360, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MorphoCompoundStrategy", "source_mapping": {"start": 608, "length": 7945, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251], "starting_column": 1, "ending_column": 2}}, "signature": "_checkBalance(address)"}}, {"type": "node", "name": "(None,None,balance) = ILens(LENS).getCurrentSupplyBalanceInOf(pToken,address(this))", "source_mapping": {"start": 8432, "length": 112, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [246, 247, 248, 249], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "_checkBalance", "source_mapping": {"start": 8191, "length": 360, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MorphoCompoundStrategy", "source_mapping": {"start": 608, "length": 7945, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251], "starting_column": 1, "ending_column": 2}}, "signature": "_checkBalance(address)"}}}}], "description": "MorphoCompoundStrategy._checkBalance(address) (contracts/strategies/MorphoCompoundStrategy.sol#238-250) has external calls inside a loop: (None,None,balance) = ILens(LENS).getCurrentSupplyBalanceInOf(pToken,address(this)) (contracts/strategies/MorphoCompoundStrategy.sol#246-249)\n", "markdown": "[MorphoCompoundStrategy._checkBalance(address)](contracts/strategies/MorphoCompoundStrategy.sol#L238-L250) has external calls inside a loop: [(None,None,balance) = ILens(LENS).getCurrentSupplyBalanceInOf(pToken,address(this))](contracts/strategies/MorphoCompoundStrategy.sol#L246-L249)\n", "first_markdown_element": "contracts/strategies/MorphoCompoundStrategy.sol#L238-L250", "id": "4ad956814054d668d2bcd740c9a939ff13d9a9107a39b22843b62d9296745c62", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_withdraw", "source_mapping": {"start": 6916, "length": 477, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MorphoCompoundStrategy", "source_mapping": {"start": 608, "length": 7945, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251], "starting_column": 1, "ending_column": 2}}, "signature": "_withdraw(address,address,uint256)"}}, {"type": "node", "name": "IMorpho(MORPHO).withdraw(pToken,_amount)", "source_mapping": {"start": 7213, "length": 41, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [207], "starting_column": 9, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "function", "name": "_withdraw", "source_mapping": {"start": 6916, "length": 477, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MorphoCompoundStrategy", "source_mapping": {"start": 608, "length": 7945, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251], "starting_column": 1, "ending_column": 2}}, "signature": "_withdraw(address,address,uint256)"}}}}], "description": "MorphoCompoundStrategy._withdraw(address,address,uint256) (contracts/strategies/MorphoCompoundStrategy.sol#197-210) has external calls inside a loop: IMorpho(MORPHO).withdraw(pToken,_amount) (contracts/strategies/MorphoCompoundStrategy.sol#207)\n", "markdown": "[MorphoCompoundStrategy._withdraw(address,address,uint256)](contracts/strategies/MorphoCompoundStrategy.sol#L197-L210) has external calls inside a loop: [IMorpho(MORPHO).withdraw(pToken,_amount)](contracts/strategies/MorphoCompoundStrategy.sol#L207)\n", "first_markdown_element": "contracts/strategies/MorphoCompoundStrategy.sol#L197-L210", "id": "9fb6d734664eb04074c6ab18d99d0ac67d2fc3fc2b4af6e5a3ae90d267d728e3", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "depositAll", "source_mapping": {"start": 1955, "length": 650, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BalancerMetaPoolStrategy", "source_mapping": {"start": 708, "length": 21715, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "depositAll()"}}, {"type": "node", "name": "strategyAmounts[i] = IERC20(strategyAssets[i]).balanceOf(address(this))", "source_mapping": {"start": 2436, "length": 101, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [69, 70, 71], "starting_column": 13, "ending_column": 14}, "type_specific_fields": {"parent": {"type": "function", "name": "depositAll", "source_mapping": {"start": 1955, "length": 650, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BalancerMetaPoolStrategy", "source_mapping": {"start": 708, "length": 21715, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "depositAll()"}}}}], "description": "BalancerMetaPoolStrategy.depositAll() (contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#60-74) has external calls inside a loop: strategyAmounts[i] = IERC20(strategyAssets[i]).balanceOf(address(this)) (contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#69-71)\n", "markdown": "[BalancerMetaPoolStrategy.depositAll()](contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L60-L74) has external calls inside a loop: [strategyAmounts[i] = IERC20(strategyAssets[i]).balanceOf(address(this))](contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L69-L71)\n", "first_markdown_element": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L60-L74", "id": "d86d9971c86af0eb231717fea9f1e0bad3b2a537c274f7ebaa5a2e458e1dd737", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "withdrawAll", "source_mapping": {"start": 15746, "length": 3500, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [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], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BalancerMetaPoolStrategy", "source_mapping": {"start": 708, "length": 21715, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "withdrawAll()"}}, {"type": "node", "name": "poolAssetAmount = IERC20(poolAsset).balanceOf(address(this))", "source_mapping": {"start": 18385, "length": 98, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [447, 448, 449], "starting_column": 13, "ending_column": 14}, "type_specific_fields": {"parent": {"type": "function", "name": "withdrawAll", "source_mapping": {"start": 15746, "length": 3500, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [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], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BalancerMetaPoolStrategy", "source_mapping": {"start": 708, "length": 21715, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "withdrawAll()"}}}}], "description": "BalancerMetaPoolStrategy.withdrawAll() (contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#392-473) has external calls inside a loop: poolAssetAmount = IERC20(poolAsset).balanceOf(address(this)) (contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#447-449)\n", "markdown": "[BalancerMetaPoolStrategy.withdrawAll()](contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L392-L473) has external calls inside a loop: [poolAssetAmount = IERC20(poolAsset).balanceOf(address(this))](contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L447-L449)\n", "first_markdown_element": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L392-L473", "id": "dc9c8b87043fcd9af37e7d32a34133389887e707f304ade5efe70347c2f2b2d2", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_unwrapPoolAsset", "source_mapping": {"start": 14919, "length": 480, "filename_relative": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_short": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "is_dependency": false, "lines": [374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseBalancerStrategy", "source_mapping": {"start": 798, "length": 17939, "filename_relative": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_short": "contracts/strategies/balancer/BaseBalancerStrategy.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, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 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], "starting_column": 1, "ending_column": 2}}, "signature": "_unwrapPoolAsset(address,uint256)"}}, {"type": "node", "name": "unwrappedAmount = IWstETH(wstETH).unwrap(amount)", "source_mapping": {"start": 15083, "length": 48, "filename_relative": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_short": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "is_dependency": false, "lines": [379], "starting_column": 13, "ending_column": 61}, "type_specific_fields": {"parent": {"type": "function", "name": "_unwrapPoolAsset", "source_mapping": {"start": 14919, "length": 480, "filename_relative": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_short": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "is_dependency": false, "lines": [374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseBalancerStrategy", "source_mapping": {"start": 798, "length": 17939, "filename_relative": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_short": "contracts/strategies/balancer/BaseBalancerStrategy.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, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 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], "starting_column": 1, "ending_column": 2}}, "signature": "_unwrapPoolAsset(address,uint256)"}}}}], "description": "BaseBalancerStrategy._unwrapPoolAsset(address,uint256) (contracts/strategies/balancer/BaseBalancerStrategy.sol#374-389) has external calls inside a loop: unwrappedAmount = IWstETH(wstETH).unwrap(amount) (contracts/strategies/balancer/BaseBalancerStrategy.sol#379)\n", "markdown": "[BaseBalancerStrategy._unwrapPoolAsset(address,uint256)](contracts/strategies/balancer/BaseBalancerStrategy.sol#L374-L389) has external calls inside a loop: [unwrappedAmount = IWstETH(wstETH).unwrap(amount)](contracts/strategies/balancer/BaseBalancerStrategy.sol#L379)\n", "first_markdown_element": "contracts/strategies/balancer/BaseBalancerStrategy.sol#L374-L389", "id": "9c4c12b8ede308c0dae4fc7ddc355166ba8cbb68b555b0aa38471966cc0848c1", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_unwrapPoolAsset", "source_mapping": {"start": 14919, "length": 480, "filename_relative": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_short": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "is_dependency": false, "lines": [374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseBalancerStrategy", "source_mapping": {"start": 798, "length": 17939, "filename_relative": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_short": "contracts/strategies/balancer/BaseBalancerStrategy.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, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 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], "starting_column": 1, "ending_column": 2}}, "signature": "_unwrapPoolAsset(address,uint256)"}}, {"type": "node", "name": "unwrappedAmount = IERC4626(sfrxETH).withdraw(amount,address(this),address(this))", "source_mapping": {"start": 15183, "length": 144, "filename_relative": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_short": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "is_dependency": false, "lines": [381, 382, 383, 384, 385], "starting_column": 13, "ending_column": 14}, "type_specific_fields": {"parent": {"type": "function", "name": "_unwrapPoolAsset", "source_mapping": {"start": 14919, "length": 480, "filename_relative": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_short": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "is_dependency": false, "lines": [374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseBalancerStrategy", "source_mapping": {"start": 798, "length": 17939, "filename_relative": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_short": "contracts/strategies/balancer/BaseBalancerStrategy.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, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 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], "starting_column": 1, "ending_column": 2}}, "signature": "_unwrapPoolAsset(address,uint256)"}}}}], "description": "BaseBalancerStrategy._unwrapPoolAsset(address,uint256) (contracts/strategies/balancer/BaseBalancerStrategy.sol#374-389) has external calls inside a loop: unwrappedAmount = IERC4626(sfrxETH).withdraw(amount,address(this),address(this)) (contracts/strategies/balancer/BaseBalancerStrategy.sol#381-385)\n", "markdown": "[BaseBalancerStrategy._unwrapPoolAsset(address,uint256)](contracts/strategies/balancer/BaseBalancerStrategy.sol#L374-L389) has external calls inside a loop: [unwrappedAmount = IERC4626(sfrxETH).withdraw(amount,address(this),address(this))](contracts/strategies/balancer/BaseBalancerStrategy.sol#L381-L385)\n", "first_markdown_element": "contracts/strategies/balancer/BaseBalancerStrategy.sol#L374-L389", "id": "405e462e6aecdf15a25315a74a7bbe2334ed2f0cf2ac1a71d8774baaa5c3b79a", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_abstractSetPToken", "source_mapping": {"start": 20214, "length": 478, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BalancerMetaPoolStrategy", "source_mapping": {"start": 708, "length": 21715, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "_abstractSetPToken(address,address)"}}, {"type": "node", "name": "IERC20(stETH).approve(wstETH,type()(uint256).max)", "source_mapping": {"start": 20435, "length": 48, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [506], "starting_column": 13, "ending_column": 61}, "type_specific_fields": {"parent": {"type": "function", "name": "_abstractSetPToken", "source_mapping": {"start": 20214, "length": 478, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BalancerMetaPoolStrategy", "source_mapping": {"start": 708, "length": 21715, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "_abstractSetPToken(address,address)"}}}}], "description": "BalancerMetaPoolStrategy._abstractSetPToken(address,address) (contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#502-512) has external calls inside a loop: IERC20(stETH).approve(wstETH,type()(uint256).max) (contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#506)\n", "markdown": "[BalancerMetaPoolStrategy._abstractSetPToken(address,address)](contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L502-L512) has external calls inside a loop: [IERC20(stETH).approve(wstETH,type()(uint256).max)](contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L506)\n", "first_markdown_element": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L502-L512", "id": "6c562c630550eae33a78899c960cb311ad278fd876aed6d3334b0bc0d44e2256", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_approveAsset", "source_mapping": {"start": 20956, "length": 211, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [520, 521, 522, 523, 524], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BalancerMetaPoolStrategy", "source_mapping": {"start": 708, "length": 21715, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "_approveAsset(address)"}}, {"type": "node", "name": "asset.approve(address(balancerVault),type()(uint256).max)", "source_mapping": {"start": 21104, "length": 56, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [523], "starting_column": 9, "ending_column": 65}, "type_specific_fields": {"parent": {"type": "function", "name": "_approveAsset", "source_mapping": {"start": 20956, "length": 211, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [520, 521, 522, 523, 524], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BalancerMetaPoolStrategy", "source_mapping": {"start": 708, "length": 21715, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "_approveAsset(address)"}}}}], "description": "BalancerMetaPoolStrategy._approveAsset(address) (contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#520-524) has external calls inside a loop: asset.approve(address(balancerVault),type()(uint256).max) (contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#523)\n", "markdown": "[BalancerMetaPoolStrategy._approveAsset(address)](contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L520-L524) has external calls inside a loop: [asset.approve(address(balancerVault),type()(uint256).max)](contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L523)\n", "first_markdown_element": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L520-L524", "id": "1268a6bcf86010c06e9d3e2482ee9f94781a267ed96edfb316380aa9f8c14ed8", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_abstractSetPToken", "source_mapping": {"start": 20214, "length": 478, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BalancerMetaPoolStrategy", "source_mapping": {"start": 708, "length": 21715, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "_abstractSetPToken(address,address)"}}, {"type": "node", "name": "IERC20(frxETH).approve(sfrxETH,type()(uint256).max)", "source_mapping": {"start": 20591, "length": 50, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [509], "starting_column": 13, "ending_column": 63}, "type_specific_fields": {"parent": {"type": "function", "name": "_abstractSetPToken", "source_mapping": {"start": 20214, "length": 478, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BalancerMetaPoolStrategy", "source_mapping": {"start": 708, "length": 21715, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "_abstractSetPToken(address,address)"}}}}], "description": "BalancerMetaPoolStrategy._abstractSetPToken(address,address) (contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#502-512) has external calls inside a loop: IERC20(frxETH).approve(sfrxETH,type()(uint256).max) (contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#509)\n", "markdown": "[BalancerMetaPoolStrategy._abstractSetPToken(address,address)](contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L502-L512) has external calls inside a loop: [IERC20(frxETH).approve(sfrxETH,type()(uint256).max)](contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L509)\n", "first_markdown_element": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L502-L512", "id": "66750974c78c70a7d77e87d18214ceefb99f1b8507c7437d2e1103f1900685db", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "withdrawAllFromStrategies", "source_mapping": {"start": 21896, "length": 245, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [618, 619, 620, 621, 622, 623], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultAdmin", "source_mapping": {"start": 549, "length": 22063, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638], "starting_column": 1, "ending_column": 2}}, "signature": "withdrawAllFromStrategies()"}}, {"type": "node", "name": "IStrategy(allStrategies[i]).withdrawAll()", "source_mapping": {"start": 22083, "length": 41, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [621], "starting_column": 13, "ending_column": 54}, "type_specific_fields": {"parent": {"type": "function", "name": "withdrawAllFromStrategies", "source_mapping": {"start": 21896, "length": 245, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [618, 619, 620, 621, 622, 623], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultAdmin", "source_mapping": {"start": 549, "length": 22063, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638], "starting_column": 1, "ending_column": 2}}, "signature": "withdrawAllFromStrategies()"}}}}], "description": "VaultAdmin.withdrawAllFromStrategies() (contracts/vault/VaultAdmin.sol#618-623) has external calls inside a loop: IStrategy(allStrategies[i]).withdrawAll() (contracts/vault/VaultAdmin.sol#621)\n", "markdown": "[VaultAdmin.withdrawAllFromStrategies()](contracts/vault/VaultAdmin.sol#L618-L623) has external calls inside a loop: [IStrategy(allStrategies[i]).withdrawAll()](contracts/vault/VaultAdmin.sol#L621)\n", "first_markdown_element": "contracts/vault/VaultAdmin.sol#L618-L623", "id": "2dda9b35efce73ce413227e000e9e39d58a8844b585ce320002128d6160cac99", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "deposit", "source_mapping": {"start": 1431, "length": 247, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [45, 46, 47, 48, 49, 50], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OETHZapper", "source_mapping": {"start": 288, "length": 2569, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81], "starting_column": 1, "ending_column": 2}}, "signature": "deposit()"}}, {"type": "node", "name": "weth.deposit{value: balance}()", "source_mapping": {"start": 1542, "length": 32, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [47], "starting_column": 9, "ending_column": 41}, "type_specific_fields": {"parent": {"type": "function", "name": "deposit", "source_mapping": {"start": 1431, "length": 247, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [45, 46, 47, 48, 49, 50], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OETHZapper", "source_mapping": {"start": 288, "length": 2569, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81], "starting_column": 1, "ending_column": 2}}, "signature": "deposit()"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "Zap(msg.sender,ETH_MARKER,balance)", "source_mapping": {"start": 1584, "length": 41, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [48], "starting_column": 9, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "function", "name": "deposit", "source_mapping": {"start": 1431, "length": 247, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [45, 46, 47, 48, 49, 50], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OETHZapper", "source_mapping": {"start": 288, "length": 2569, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81], "starting_column": 1, "ending_column": 2}}, "signature": "deposit()"}}}, "additional_fields": {"underlying_type": "event"}}], "description": "Reentrancy in OETHZapper.deposit() (contracts/vault/OETHZapper.sol#45-50):\n\tExternal calls:\n\t- weth.deposit{value: balance}() (contracts/vault/OETHZapper.sol#47)\n\tEvent emitted after the call(s):\n\t- Zap(msg.sender,ETH_MARKER,balance) (contracts/vault/OETHZapper.sol#48)\n", "markdown": "Reentrancy in [OETHZapper.deposit()](contracts/vault/OETHZapper.sol#L45-L50):\n\tExternal calls:\n\t- [weth.deposit{value: balance}()](contracts/vault/OETHZapper.sol#L47)\n\tEvent emitted after the call(s):\n\t- [Zap(msg.sender,ETH_MARKER,balance)](contracts/vault/OETHZapper.sol#L48)\n", "first_markdown_element": "contracts/vault/OETHZapper.sol#L45-L50", "id": "0b34d6f9d901c186b1e45ca84e1e7c80a926306176067ad95c77f311eec027f8", "check": "reentrancy-events", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "depositSFRXETH", "source_mapping": {"start": 1917, "length": 274, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [58, 59, 60, 61, 62, 63, 64, 65], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OETHZapper", "source_mapping": {"start": 288, "length": 2569, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81], "starting_column": 1, "ending_column": 2}}, "signature": "depositSFRXETH(uint256,uint256)"}}, {"type": "node", "name": "sfrxeth.redeem(amount,address(this),msg.sender)", "source_mapping": {"start": 2031, "length": 49, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [62], "starting_column": 9, "ending_column": 58}, "type_specific_fields": {"parent": {"type": "function", "name": "depositSFRXETH", "source_mapping": {"start": 1917, "length": 274, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [58, 59, 60, 61, 62, 63, 64, 65], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OETHZapper", "source_mapping": {"start": 288, "length": 2569, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81], "starting_column": 1, "ending_column": 2}}, "signature": "depositSFRXETH(uint256,uint256)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "Zap(msg.sender,address(sfrxeth),amount)", "source_mapping": {"start": 2090, "length": 46, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [63], "starting_column": 9, "ending_column": 55}, "type_specific_fields": {"parent": {"type": "function", "name": "depositSFRXETH", "source_mapping": {"start": 1917, "length": 274, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [58, 59, 60, 61, 62, 63, 64, 65], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OETHZapper", "source_mapping": {"start": 288, "length": 2569, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81], "starting_column": 1, "ending_column": 2}}, "signature": "depositSFRXETH(uint256,uint256)"}}}, "additional_fields": {"underlying_type": "event"}}], "description": "Reentrancy in OETHZapper.depositSFRXETH(uint256,uint256) (contracts/vault/OETHZapper.sol#58-65):\n\tExternal calls:\n\t- sfrxeth.redeem(amount,address(this),msg.sender) (contracts/vault/OETHZapper.sol#62)\n\tEvent emitted after the call(s):\n\t- Zap(msg.sender,address(sfrxeth),amount) (contracts/vault/OETHZapper.sol#63)\n", "markdown": "Reentrancy in [OETHZapper.depositSFRXETH(uint256,uint256)](contracts/vault/OETHZapper.sol#L58-L65):\n\tExternal calls:\n\t- [sfrxeth.redeem(amount,address(this),msg.sender)](contracts/vault/OETHZapper.sol#L62)\n\tEvent emitted after the call(s):\n\t- [Zap(msg.sender,address(sfrxeth),amount)](contracts/vault/OETHZapper.sol#L63)\n", "first_markdown_element": "contracts/vault/OETHZapper.sol#L58-L65", "id": "85851a0b1393fc930cd8f8cc03338bba3e843ec8b604c42ee9b6932e81b2514d", "check": "reentrancy-events", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "execute", "source_mapping": {"start": 5974, "length": 615, "filename_relative": "contracts/governance/Governor.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/Governor.sol", "filename_short": "contracts/governance/Governor.sol", "is_dependency": false, "lines": [183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Governor", "source_mapping": {"start": 250, "length": 7671, "filename_relative": "contracts/governance/Governor.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/Governor.sol", "filename_short": "contracts/governance/Governor.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242], "starting_column": 1, "ending_column": 2}}, "signature": "execute(uint256)"}}, {"type": "node", "name": "executeTransaction(proposal.targets[i],proposal.signatures[i],proposal.calldatas[i],proposal.eta)", "source_mapping": {"start": 6351, "length": 178, "filename_relative": "contracts/governance/Governor.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/Governor.sol", "filename_short": "contracts/governance/Governor.sol", "is_dependency": false, "lines": [191, 192, 193, 194, 195, 196], "starting_column": 13, "ending_column": 14}, "type_specific_fields": {"parent": {"type": "function", "name": "execute", "source_mapping": {"start": 5974, "length": 615, "filename_relative": "contracts/governance/Governor.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/Governor.sol", "filename_short": "contracts/governance/Governor.sol", "is_dependency": false, "lines": [183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Governor", "source_mapping": {"start": 250, "length": 7671, "filename_relative": "contracts/governance/Governor.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/Governor.sol", "filename_short": "contracts/governance/Governor.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242], "starting_column": 1, "ending_column": 2}}, "signature": "execute(uint256)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "(success,returnData) = target.call(callData)", "source_mapping": {"start": 5793, "length": 63, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [211], "starting_column": 9, "ending_column": 72}, "type_specific_fields": {"parent": {"type": "function", "name": "executeTransaction", "source_mapping": {"start": 4611, "length": 1434, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Timelock", "source_mapping": {"start": 298, "length": 6391, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242], "starting_column": 1, "ending_column": 2}}, "signature": "executeTransaction(address,string,bytes,uint256)"}}}, "additional_fields": {"underlying_type": "external_calls_sending_eth"}}, {"type": "node", "name": "ProposalExecuted(proposalId)", "source_mapping": {"start": 6549, "length": 33, "filename_relative": "contracts/governance/Governor.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/Governor.sol", "filename_short": "contracts/governance/Governor.sol", "is_dependency": false, "lines": [198], "starting_column": 9, "ending_column": 42}, "type_specific_fields": {"parent": {"type": "function", "name": "execute", "source_mapping": {"start": 5974, "length": 615, "filename_relative": "contracts/governance/Governor.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/Governor.sol", "filename_short": "contracts/governance/Governor.sol", "is_dependency": false, "lines": [183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Governor", "source_mapping": {"start": 250, "length": 7671, "filename_relative": "contracts/governance/Governor.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/Governor.sol", "filename_short": "contracts/governance/Governor.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242], "starting_column": 1, "ending_column": 2}}, "signature": "execute(uint256)"}}}, "additional_fields": {"underlying_type": "event"}}], "description": "Reentrancy in Governor.execute(uint256) (contracts/governance/Governor.sol#183-199):\n\tExternal calls:\n\t- executeTransaction(proposal.targets[i],proposal.signatures[i],proposal.calldatas[i],proposal.eta) (contracts/governance/Governor.sol#191-196)\n\t\t- (success,returnData) = target.call(callData) (contracts/timelock/Timelock.sol#211)\n\tEvent emitted after the call(s):\n\t- ProposalExecuted(proposalId) (contracts/governance/Governor.sol#198)\n", "markdown": "Reentrancy in [Governor.execute(uint256)](contracts/governance/Governor.sol#L183-L199):\n\tExternal calls:\n\t- [executeTransaction(proposal.targets[i],proposal.signatures[i],proposal.calldatas[i],proposal.eta)](contracts/governance/Governor.sol#L191-L196)\n\t\t- [(success,returnData) = target.call(callData)](contracts/timelock/Timelock.sol#L211)\n\tEvent emitted after the call(s):\n\t- [ProposalExecuted(proposalId)](contracts/governance/Governor.sol#L198)\n", "first_markdown_element": "contracts/governance/Governor.sol#L183-L199", "id": "95995bb210db1cdec0e731e562ad878ea9fedf5454257a18e4bcbbacaf2e2ec5", "check": "reentrancy-events", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "executeTransaction", "source_mapping": {"start": 4611, "length": 1434, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Timelock", "source_mapping": {"start": 298, "length": 6391, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242], "starting_column": 1, "ending_column": 2}}, "signature": "executeTransaction(address,string,bytes,uint256)"}}, {"type": "node", "name": "(success,returnData) = target.call(callData)", "source_mapping": {"start": 5793, "length": 63, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [211], "starting_column": 9, "ending_column": 72}, "type_specific_fields": {"parent": {"type": "function", "name": "executeTransaction", "source_mapping": {"start": 4611, "length": 1434, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Timelock", "source_mapping": {"start": 298, "length": 6391, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242], "starting_column": 1, "ending_column": 2}}, "signature": "executeTransaction(address,string,bytes,uint256)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "ExecuteTransaction(txHash,target,signature,data,eta)", "source_mapping": {"start": 5949, "length": 61, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [217], "starting_column": 9, "ending_column": 70}, "type_specific_fields": {"parent": {"type": "function", "name": "executeTransaction", "source_mapping": {"start": 4611, "length": 1434, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Timelock", "source_mapping": {"start": 298, "length": 6391, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242], "starting_column": 1, "ending_column": 2}}, "signature": "executeTransaction(address,string,bytes,uint256)"}}}, "additional_fields": {"underlying_type": "event"}}], "description": "Reentrancy in Timelock.executeTransaction(address,string,bytes,uint256) (contracts/timelock/Timelock.sol#171-220):\n\tExternal calls:\n\t- (success,returnData) = target.call(callData) (contracts/timelock/Timelock.sol#211)\n\tEvent emitted after the call(s):\n\t- ExecuteTransaction(txHash,target,signature,data,eta) (contracts/timelock/Timelock.sol#217)\n", "markdown": "Reentrancy in [Timelock.executeTransaction(address,string,bytes,uint256)](contracts/timelock/Timelock.sol#L171-L220):\n\tExternal calls:\n\t- [(success,returnData) = target.call(callData)](contracts/timelock/Timelock.sol#L211)\n\tEvent emitted after the call(s):\n\t- [ExecuteTransaction(txHash,target,signature,data,eta)](contracts/timelock/Timelock.sol#L217)\n", "first_markdown_element": "contracts/timelock/Timelock.sol#L171-L220", "id": "e0774bc5347fd830d0fad9bea289f171838e571546d52b9f1c906de97bc3fa0c", "check": "reentrancy-events", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "initialize", "source_mapping": {"start": 1352, "length": 545, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "InitializeGovernedUpgradeabilityProxy", "source_mapping": {"start": 450, "length": 6294, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [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], "starting_column": 1, "ending_column": 2}}, "signature": "initialize(address,address,bytes)"}}, {"type": "node", "name": "(success) = _logic.delegatecall(_data)", "source_mapping": {"start": 1765, "length": 45, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [46], "starting_column": 13, "ending_column": 58}, "type_specific_fields": {"parent": {"type": "function", "name": "initialize", "source_mapping": {"start": 1352, "length": 545, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "InitializeGovernedUpgradeabilityProxy", "source_mapping": {"start": 450, "length": 6294, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [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], "starting_column": 1, "ending_column": 2}}, "signature": "initialize(address,address,bytes)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "GovernorshipTransferred(_governor(),_newGovernor)", "source_mapping": {"start": 5648, "length": 55, "filename_relative": "contracts/governance/Governable.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/Governable.sol", "filename_short": "contracts/governance/Governable.sol", "is_dependency": false, "lines": [173], "starting_column": 9, "ending_column": 64}, "type_specific_fields": {"parent": {"type": "function", "name": "_changeGovernor", "source_mapping": {"start": 5507, "length": 239, "filename_relative": "contracts/governance/Governable.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/Governable.sol", "filename_short": "contracts/governance/Governable.sol", "is_dependency": false, "lines": [171, 172, 173, 174, 175], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Governable", "source_mapping": {"start": 392, "length": 5356, "filename_relative": "contracts/governance/Governable.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/Governable.sol", "filename_short": "contracts/governance/Governable.sol", "is_dependency": false, "lines": [11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176], "starting_column": 1, "ending_column": 2}}, "signature": "_changeGovernor(address)"}}}, "additional_fields": {"underlying_type": "event"}}, {"type": "node", "name": "_changeGovernor(_initGovernor)", "source_mapping": {"start": 1860, "length": 30, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [49], "starting_column": 9, "ending_column": 39}, "type_specific_fields": {"parent": {"type": "function", "name": "initialize", "source_mapping": {"start": 1352, "length": 545, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "InitializeGovernedUpgradeabilityProxy", "source_mapping": {"start": 450, "length": 6294, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [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], "starting_column": 1, "ending_column": 2}}, "signature": "initialize(address,address,bytes)"}}}, "additional_fields": {"underlying_type": "event"}}], "description": "Reentrancy in InitializeGovernedUpgradeabilityProxy.initialize(address,address,bytes) (contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#34-50):\n\tExternal calls:\n\t- (success) = _logic.delegatecall(_data) (contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#46)\n\tEvent emitted after the call(s):\n\t- GovernorshipTransferred(_governor(),_newGovernor) (contracts/governance/Governable.sol#173)\n\t\t- _changeGovernor(_initGovernor) (contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#49)\n", "markdown": "Reentrancy in [InitializeGovernedUpgradeabilityProxy.initialize(address,address,bytes)](contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#L34-L50):\n\tExternal calls:\n\t- [(success) = _logic.delegatecall(_data)](contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#L46)\n\tEvent emitted after the call(s):\n\t- [GovernorshipTransferred(_governor(),_newGovernor)](contracts/governance/Governable.sol#L173)\n\t\t- [_changeGovernor(_initGovernor)](contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#L49)\n", "first_markdown_element": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#L34-L50", "id": "c1886d12f5031f05c023a4db6d085929c7b6e1bcb012fe5440210bd6de8db2db", "check": "reentrancy-events", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "removeStrategy", "source_mapping": {"start": 13917, "length": 1222, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [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], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultAdmin", "source_mapping": {"start": 549, "length": 22063, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638], "starting_column": 1, "ending_column": 2}}, "signature": "removeStrategy(address)"}}, {"type": "node", "name": "strategy.withdrawAll()", "source_mapping": {"start": 15058, "length": 22, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [406], "starting_column": 13, "ending_column": 35}, "type_specific_fields": {"parent": {"type": "function", "name": "removeStrategy", "source_mapping": {"start": 13917, "length": 1222, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [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], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultAdmin", "source_mapping": {"start": 549, "length": 22063, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638], "starting_column": 1, "ending_column": 2}}, "signature": "removeStrategy(address)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "StrategyRemoved(_addr)", "source_mapping": {"start": 15095, "length": 27, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [408], "starting_column": 13, "ending_column": 40}, "type_specific_fields": {"parent": {"type": "function", "name": "removeStrategy", "source_mapping": {"start": 13917, "length": 1222, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [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], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultAdmin", "source_mapping": {"start": 549, "length": 22063, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638], "starting_column": 1, "ending_column": 2}}, "signature": "removeStrategy(address)"}}}, "additional_fields": {"underlying_type": "event"}}], "description": "Reentrancy in VaultAdmin.removeStrategy(address) (contracts/vault/VaultAdmin.sol#375-410):\n\tExternal calls:\n\t- strategy.withdrawAll() (contracts/vault/VaultAdmin.sol#406)\n\tEvent emitted after the call(s):\n\t- StrategyRemoved(_addr) (contracts/vault/VaultAdmin.sol#408)\n", "markdown": "Reentrancy in [VaultAdmin.removeStrategy(address)](contracts/vault/VaultAdmin.sol#L375-L410):\n\tExternal calls:\n\t- [strategy.withdrawAll()](contracts/vault/VaultAdmin.sol#L406)\n\tEvent emitted after the call(s):\n\t- [StrategyRemoved(_addr)](contracts/vault/VaultAdmin.sol#L408)\n", "first_markdown_element": "contracts/vault/VaultAdmin.sol#L375-L410", "id": "bf97321ba1afc55396d37d4554c182cc74bd59681cfbd04de59fbf2037aa0de8", "check": "reentrancy-events", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "setRewardTokenConfig", "source_mapping": {"start": 4741, "length": 2356, "filename_relative": "contracts/harvest/BaseHarvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/BaseHarvester.sol", "filename_short": "contracts/harvest/BaseHarvester.sol", "is_dependency": false, "lines": [118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseHarvester", "source_mapping": {"start": 733, "length": 12493, "filename_relative": "contracts/harvest/BaseHarvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/BaseHarvester.sol", "filename_short": "contracts/harvest/BaseHarvester.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358], "starting_column": 1, "ending_column": 2}}, "signature": "setRewardTokenConfig(address,uint16,uint16,address,uint256,bool)"}}, {"type": "node", "name": "token.safeApprove(oldUniswapAddress,0)", "source_mapping": {"start": 6537, "length": 39, "filename_relative": "contracts/harvest/BaseHarvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/BaseHarvester.sol", "filename_short": "contracts/harvest/BaseHarvester.sol", "is_dependency": false, "lines": [167], "starting_column": 13, "ending_column": 52}, "type_specific_fields": {"parent": {"type": "function", "name": "setRewardTokenConfig", "source_mapping": {"start": 4741, "length": 2356, "filename_relative": "contracts/harvest/BaseHarvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/BaseHarvester.sol", "filename_short": "contracts/harvest/BaseHarvester.sol", "is_dependency": false, "lines": [118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseHarvester", "source_mapping": {"start": 733, "length": 12493, "filename_relative": "contracts/harvest/BaseHarvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/BaseHarvester.sol", "filename_short": "contracts/harvest/BaseHarvester.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358], "starting_column": 1, "ending_column": 2}}, "signature": "setRewardTokenConfig(address,uint16,uint16,address,uint256,bool)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "token.safeApprove(_uniswapV2CompatibleAddr,0)", "source_mapping": {"start": 6716, "length": 46, "filename_relative": "contracts/harvest/BaseHarvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/BaseHarvester.sol", "filename_short": "contracts/harvest/BaseHarvester.sol", "is_dependency": false, "lines": [172], "starting_column": 13, "ending_column": 59}, "type_specific_fields": {"parent": {"type": "function", "name": "setRewardTokenConfig", "source_mapping": {"start": 4741, "length": 2356, "filename_relative": "contracts/harvest/BaseHarvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/BaseHarvester.sol", "filename_short": "contracts/harvest/BaseHarvester.sol", "is_dependency": false, "lines": [118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseHarvester", "source_mapping": {"start": 733, "length": 12493, "filename_relative": "contracts/harvest/BaseHarvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/BaseHarvester.sol", "filename_short": "contracts/harvest/BaseHarvester.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358], "starting_column": 1, "ending_column": 2}}, "signature": "setRewardTokenConfig(address,uint16,uint16,address,uint256,bool)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "token.safeApprove(_uniswapV2CompatibleAddr,type()(uint256).max)", "source_mapping": {"start": 6776, "length": 62, "filename_relative": "contracts/harvest/BaseHarvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/BaseHarvester.sol", "filename_short": "contracts/harvest/BaseHarvester.sol", "is_dependency": false, "lines": [173], "starting_column": 13, "ending_column": 75}, "type_specific_fields": {"parent": {"type": "function", "name": "setRewardTokenConfig", "source_mapping": {"start": 4741, "length": 2356, "filename_relative": "contracts/harvest/BaseHarvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/BaseHarvester.sol", "filename_short": "contracts/harvest/BaseHarvester.sol", "is_dependency": false, "lines": [118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseHarvester", "source_mapping": {"start": 733, "length": 12493, "filename_relative": "contracts/harvest/BaseHarvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/BaseHarvester.sol", "filename_short": "contracts/harvest/BaseHarvester.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358], "starting_column": 1, "ending_column": 2}}, "signature": "setRewardTokenConfig(address,uint16,uint16,address,uint256,bool)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "RewardTokenConfigUpdated(_tokenAddress,_allowedSlippageBps,_harvestRewardBps,_uniswapV2CompatibleAddr,_liquidationLimit,_doSwapRewardToken)", "source_mapping": {"start": 6859, "length": 231, "filename_relative": "contracts/harvest/BaseHarvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/BaseHarvester.sol", "filename_short": "contracts/harvest/BaseHarvester.sol", "is_dependency": false, "lines": [176, 177, 178, 179, 180, 181, 182, 183], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "setRewardTokenConfig", "source_mapping": {"start": 4741, "length": 2356, "filename_relative": "contracts/harvest/BaseHarvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/BaseHarvester.sol", "filename_short": "contracts/harvest/BaseHarvester.sol", "is_dependency": false, "lines": [118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseHarvester", "source_mapping": {"start": 733, "length": 12493, "filename_relative": "contracts/harvest/BaseHarvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/BaseHarvester.sol", "filename_short": "contracts/harvest/BaseHarvester.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358], "starting_column": 1, "ending_column": 2}}, "signature": "setRewardTokenConfig(address,uint16,uint16,address,uint256,bool)"}}}, "additional_fields": {"underlying_type": "event"}}], "description": "Reentrancy in BaseHarvester.setRewardTokenConfig(address,uint16,uint16,address,uint256,bool) (contracts/harvest/BaseHarvester.sol#118-184):\n\tExternal calls:\n\t- token.safeApprove(oldUniswapAddress,0) (contracts/harvest/BaseHarvester.sol#167)\n\t- token.safeApprove(_uniswapV2CompatibleAddr,0) (contracts/harvest/BaseHarvester.sol#172)\n\t- token.safeApprove(_uniswapV2CompatibleAddr,type()(uint256).max) (contracts/harvest/BaseHarvester.sol#173)\n\tEvent emitted after the call(s):\n\t- RewardTokenConfigUpdated(_tokenAddress,_allowedSlippageBps,_harvestRewardBps,_uniswapV2CompatibleAddr,_liquidationLimit,_doSwapRewardToken) (contracts/harvest/BaseHarvester.sol#176-183)\n", "markdown": "Reentrancy in [BaseHarvester.setRewardTokenConfig(address,uint16,uint16,address,uint256,bool)](contracts/harvest/BaseHarvester.sol#L118-L184):\n\tExternal calls:\n\t- [token.safeApprove(oldUniswapAddress,0)](contracts/harvest/BaseHarvester.sol#L167)\n\t- [token.safeApprove(_uniswapV2CompatibleAddr,0)](contracts/harvest/BaseHarvester.sol#L172)\n\t- [token.safeApprove(_uniswapV2CompatibleAddr,type()(uint256).max)](contracts/harvest/BaseHarvester.sol#L173)\n\tEvent emitted after the call(s):\n\t- [RewardTokenConfigUpdated(_tokenAddress,_allowedSlippageBps,_harvestRewardBps,_uniswapV2CompatibleAddr,_liquidationLimit,_doSwapRewardToken)](contracts/harvest/BaseHarvester.sol#L176-L183)\n", "first_markdown_element": "contracts/harvest/BaseHarvester.sol#L118-L184", "id": "1addc0ad3b34523f06718a759fb43f9c711cbed42dbfc4d5adf831c789b7d879", "check": "reentrancy-events", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "start", "source_mapping": {"start": 3907, "length": 516, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompensationClaims", "source_mapping": {"start": 1527, "length": 3674, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164], "starting_column": 1, "ending_column": 2}}, "signature": "start(uint256)"}}, {"type": "node", "name": "require(bool,string)(end.sub(block.timestamp) < 31622400,Duration too long)", "source_mapping": {"start": 4299, "length": 65, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [132], "starting_column": 9, "ending_column": 74}, "type_specific_fields": {"parent": {"type": "function", "name": "start", "source_mapping": {"start": 3907, "length": 516, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompensationClaims", "source_mapping": {"start": 1527, "length": 3674, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164], "starting_column": 1, "ending_column": 2}}, "signature": "start(uint256)"}}}}], "description": "CompensationClaims.start(uint256) (contracts/compensation/CompensationClaims.sol#121-134) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- require(bool,string)(end.sub(block.timestamp) < 31622400,Duration too long) (contracts/compensation/CompensationClaims.sol#132)\n", "markdown": "[CompensationClaims.start(uint256)](contracts/compensation/CompensationClaims.sol#L121-L134) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [require(bool,string)(end.sub(block.timestamp) < 31622400,Duration too long)](contracts/compensation/CompensationClaims.sol#L132)\n", "first_markdown_element": "contracts/compensation/CompensationClaims.sol#L121-L134", "id": "5b83f20884fa1991b55d37925295030066000baf57de0a1307c028e532d54c3f", "check": "timestamp", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "queue", "source_mapping": {"start": 3911, "length": 646, "filename_relative": "contracts/governance/Governor.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/Governor.sol", "filename_short": "contracts/governance/Governor.sol", "is_dependency": false, "lines": [119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Governor", "source_mapping": {"start": 250, "length": 7671, "filename_relative": "contracts/governance/Governor.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/Governor.sol", "filename_short": "contracts/governance/Governor.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242], "starting_column": 1, "ending_column": 2}}, "signature": "queue(uint256)"}}, {"type": "node", "name": "i < proposal.targets.length", "source_mapping": {"start": 4261, "length": 27, "filename_relative": "contracts/governance/Governor.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/Governor.sol", "filename_short": "contracts/governance/Governor.sol", "is_dependency": false, "lines": [127], "starting_column": 29, "ending_column": 56}, "type_specific_fields": {"parent": {"type": "function", "name": "queue", "source_mapping": {"start": 3911, "length": 646, "filename_relative": "contracts/governance/Governor.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/Governor.sol", "filename_short": "contracts/governance/Governor.sol", "is_dependency": false, "lines": [119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Governor", "source_mapping": {"start": 250, "length": 7671, "filename_relative": "contracts/governance/Governor.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/Governor.sol", "filename_short": "contracts/governance/Governor.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242], "starting_column": 1, "ending_column": 2}}, "signature": "queue(uint256)"}}}}], "description": "Governor.queue(uint256) (contracts/governance/Governor.sol#119-137) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- i < proposal.targets.length (contracts/governance/Governor.sol#127)\n", "markdown": "[Governor.queue(uint256)](contracts/governance/Governor.sol#L119-L137) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [i < proposal.targets.length](contracts/governance/Governor.sol#L127)\n", "first_markdown_element": "contracts/governance/Governor.sol#L119-L137", "id": "2137c873a1058c23a3448bfb16167ca09007c41476b7d4e0a7135f230841d5c1", "check": "timestamp", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "state", "source_mapping": {"start": 4695, "length": 612, "filename_relative": "contracts/governance/Governor.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/Governor.sol", "filename_short": "contracts/governance/Governor.sol", "is_dependency": false, "lines": [144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Governor", "source_mapping": {"start": 250, "length": 7671, "filename_relative": "contracts/governance/Governor.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/Governor.sol", "filename_short": "contracts/governance/Governor.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242], "starting_column": 1, "ending_column": 2}}, "signature": "state(uint256)"}}, {"type": "node", "name": "block.timestamp >= proposal.eta + GRACE_PERIOD", "source_mapping": {"start": 5142, "length": 46, "filename_relative": "contracts/governance/Governor.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/Governor.sol", "filename_short": "contracts/governance/Governor.sol", "is_dependency": false, "lines": [154], "starting_column": 20, "ending_column": 66}, "type_specific_fields": {"parent": {"type": "function", "name": "state", "source_mapping": {"start": 4695, "length": 612, "filename_relative": "contracts/governance/Governor.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/Governor.sol", "filename_short": "contracts/governance/Governor.sol", "is_dependency": false, "lines": [144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Governor", "source_mapping": {"start": 250, "length": 7671, "filename_relative": "contracts/governance/Governor.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/Governor.sol", "filename_short": "contracts/governance/Governor.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242], "starting_column": 1, "ending_column": 2}}, "signature": "state(uint256)"}}}}], "description": "Governor.state(uint256) (contracts/governance/Governor.sol#144-159) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- block.timestamp >= proposal.eta + GRACE_PERIOD (contracts/governance/Governor.sol#154)\n", "markdown": "[Governor.state(uint256)](contracts/governance/Governor.sol#L144-L159) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [block.timestamp >= proposal.eta + GRACE_PERIOD](contracts/governance/Governor.sol#L154)\n", "first_markdown_element": "contracts/governance/Governor.sol#L144-L159", "id": "02c27e1e97be65704f49a4c9ee7cf04c73c7b44901ce4d2fabcf018337a201a9", "check": "timestamp", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_queueOrRevert", "source_mapping": {"start": 5313, "length": 560, "filename_relative": "contracts/governance/Governor.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/Governor.sol", "filename_short": "contracts/governance/Governor.sol", "is_dependency": false, "lines": [161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Governor", "source_mapping": {"start": 250, "length": 7671, "filename_relative": "contracts/governance/Governor.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/Governor.sol", "filename_short": "contracts/governance/Governor.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242], "starting_column": 1, "ending_column": 2}}, "signature": "_queueOrRevert(address,string,bytes,uint256)"}}, {"type": "node", "name": "require(bool,string)(! queuedTransactions[keccak256(bytes)(abi.encode(target,signature,keccak256(bytes)(data),eta))],Governor::_queueOrRevert: proposal action already queued at eta)", "source_mapping": {"start": 5467, "length": 223, "filename_relative": "contracts/governance/Governor.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/Governor.sol", "filename_short": "contracts/governance/Governor.sol", "is_dependency": false, "lines": [167, 168, 169, 170, 171, 172], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "_queueOrRevert", "source_mapping": {"start": 5313, "length": 560, "filename_relative": "contracts/governance/Governor.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/Governor.sol", "filename_short": "contracts/governance/Governor.sol", "is_dependency": false, "lines": [161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Governor", "source_mapping": {"start": 250, "length": 7671, "filename_relative": "contracts/governance/Governor.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/Governor.sol", "filename_short": "contracts/governance/Governor.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242], "starting_column": 1, "ending_column": 2}}, "signature": "_queueOrRevert(address,string,bytes,uint256)"}}}}, {"type": "node", "name": "require(bool,string)(queuedTransactions[queueTransaction(target,signature,data,eta)],Governor::_queueOrRevert: failed to queue transaction)", "source_mapping": {"start": 5700, "length": 166, "filename_relative": "contracts/governance/Governor.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/Governor.sol", "filename_short": "contracts/governance/Governor.sol", "is_dependency": false, "lines": [173, 174, 175, 176], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "_queueOrRevert", "source_mapping": {"start": 5313, "length": 560, "filename_relative": "contracts/governance/Governor.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/Governor.sol", "filename_short": "contracts/governance/Governor.sol", "is_dependency": false, "lines": [161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Governor", "source_mapping": {"start": 250, "length": 7671, "filename_relative": "contracts/governance/Governor.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/Governor.sol", "filename_short": "contracts/governance/Governor.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242], "starting_column": 1, "ending_column": 2}}, "signature": "_queueOrRevert(address,string,bytes,uint256)"}}}}], "description": "Governor._queueOrRevert(address,string,bytes,uint256) (contracts/governance/Governor.sol#161-177) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- require(bool,string)(! queuedTransactions[keccak256(bytes)(abi.encode(target,signature,keccak256(bytes)(data),eta))],Governor::_queueOrRevert: proposal action already queued at eta) (contracts/governance/Governor.sol#167-172)\n\t- require(bool,string)(queuedTransactions[queueTransaction(target,signature,data,eta)],Governor::_queueOrRevert: failed to queue transaction) (contracts/governance/Governor.sol#173-176)\n", "markdown": "[Governor._queueOrRevert(address,string,bytes,uint256)](contracts/governance/Governor.sol#L161-L177) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [require(bool,string)(! queuedTransactions[keccak256(bytes)(abi.encode(target,signature,keccak256(bytes)(data),eta))],Governor::_queueOrRevert: proposal action already queued at eta)](contracts/governance/Governor.sol#L167-L172)\n\t- [require(bool,string)(queuedTransactions[queueTransaction(target,signature,data,eta)],Governor::_queueOrRevert: failed to queue transaction)](contracts/governance/Governor.sol#L173-L176)\n", "first_markdown_element": "contracts/governance/Governor.sol#L161-L177", "id": "159af0fa773affdc68c334f0f8355bad7352607d78acf09065353c8844023a95", "check": "timestamp", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_availableFunds", "source_mapping": {"start": 4737, "length": 304, "filename_relative": "contracts/harvest/Dripper.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/Dripper.sol", "filename_short": "contracts/harvest/Dripper.sol", "is_dependency": false, "lines": [110, 111, 112, 113, 114, 115, 116, 117, 118], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Dripper", "source_mapping": {"start": 2392, "length": 3342, "filename_relative": "contracts/harvest/Dripper.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/Dripper.sol", "filename_short": "contracts/harvest/Dripper.sol", "is_dependency": false, "lines": [47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136], "starting_column": 1, "ending_column": 2}}, "signature": "_availableFunds(uint256,Dripper.Drip)"}}, {"type": "node", "name": "(allowed > _balance)", "source_mapping": {"start": 4986, "length": 48, "filename_relative": "contracts/harvest/Dripper.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/Dripper.sol", "filename_short": "contracts/harvest/Dripper.sol", "is_dependency": false, "lines": [117], "starting_column": 9, "ending_column": 57}, "type_specific_fields": {"parent": {"type": "function", "name": "_availableFunds", "source_mapping": {"start": 4737, "length": 304, "filename_relative": "contracts/harvest/Dripper.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/Dripper.sol", "filename_short": "contracts/harvest/Dripper.sol", "is_dependency": false, "lines": [110, 111, 112, 113, 114, 115, 116, 117, 118], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Dripper", "source_mapping": {"start": 2392, "length": 3342, "filename_relative": "contracts/harvest/Dripper.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/Dripper.sol", "filename_short": "contracts/harvest/Dripper.sol", "is_dependency": false, "lines": [47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136], "starting_column": 1, "ending_column": 2}}, "signature": "_availableFunds(uint256,Dripper.Drip)"}}}}], "description": "Dripper._availableFunds(uint256,Dripper.Drip) (contracts/harvest/Dripper.sol#110-118) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- (allowed > _balance) (contracts/harvest/Dripper.sol#117)\n", "markdown": "[Dripper._availableFunds(uint256,Dripper.Drip)](contracts/harvest/Dripper.sol#L110-L118) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [(allowed > _balance)](contracts/harvest/Dripper.sol#L117)\n", "first_markdown_element": "contracts/harvest/Dripper.sol#L110-L118", "id": "ee8294628e5c36230161b9540cd72381b59c95738c1890babedb966bb74a654f", "check": "timestamp", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "price", "source_mapping": {"start": 1593, "length": 894, "filename_relative": "contracts/oracle/OracleRouter.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/oracle/OracleRouter.sol", "filename_short": "contracts/oracle/OracleRouter.sol", "is_dependency": false, "lines": [41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OracleRouterBase", "source_mapping": {"start": 429, "length": 3340, "filename_relative": "contracts/oracle/OracleRouter.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/oracle/OracleRouter.sol", "filename_short": "contracts/oracle/OracleRouter.sol", "is_dependency": false, "lines": [11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100], "starting_column": 1, "ending_column": 2}}, "signature": "price(address)"}}, {"type": "node", "name": "require(bool,string)(updatedAt + maxStaleness >= block.timestamp,Oracle price too old)", "source_mapping": {"start": 2045, "length": 110, "filename_relative": "contracts/oracle/OracleRouter.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/oracle/OracleRouter.sol", "filename_short": "contracts/oracle/OracleRouter.sol", "is_dependency": false, "lines": [55, 56, 57, 58], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "price", "source_mapping": {"start": 1593, "length": 894, "filename_relative": "contracts/oracle/OracleRouter.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/oracle/OracleRouter.sol", "filename_short": "contracts/oracle/OracleRouter.sol", "is_dependency": false, "lines": [41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OracleRouterBase", "source_mapping": {"start": 429, "length": 3340, "filename_relative": "contracts/oracle/OracleRouter.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/oracle/OracleRouter.sol", "filename_short": "contracts/oracle/OracleRouter.sol", "is_dependency": false, "lines": [11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100], "starting_column": 1, "ending_column": 2}}, "signature": "price(address)"}}}}], "description": "OracleRouterBase.price(address) (contracts/oracle/OracleRouter.sol#41-68) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- require(bool,string)(updatedAt + maxStaleness >= block.timestamp,Oracle price too old) (contracts/oracle/OracleRouter.sol#55-58)\n", "markdown": "[OracleRouterBase.price(address)](contracts/oracle/OracleRouter.sol#L41-L68) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [require(bool,string)(updatedAt + maxStaleness >= block.timestamp,Oracle price too old)](contracts/oracle/OracleRouter.sol#L55-L58)\n", "first_markdown_element": "contracts/oracle/OracleRouter.sol#L41-L68", "id": "941a9e46c1d422f073ef9bad8d9ae199e53ef7b4495bb290067fcc5073512256", "check": "timestamp", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "price", "source_mapping": {"start": 7130, "length": 700, "filename_relative": "contracts/oracle/OracleRouter.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/oracle/OracleRouter.sol", "filename_short": "contracts/oracle/OracleRouter.sol", "is_dependency": false, "lines": [172, 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": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OETHOracleRouter", "source_mapping": {"start": 6730, "length": 3600, "filename_relative": "contracts/oracle/OracleRouter.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/oracle/OracleRouter.sol", "filename_short": "contracts/oracle/OracleRouter.sol", "is_dependency": false, "lines": [162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249], "starting_column": 1, "ending_column": 2}}, "signature": "price(address)"}}, {"type": "node", "name": "require(bool,string)(updatedAt + maxStaleness >= block.timestamp,Oracle price too old)", "source_mapping": {"start": 7579, "length": 110, "filename_relative": "contracts/oracle/OracleRouter.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/oracle/OracleRouter.sol", "filename_short": "contracts/oracle/OracleRouter.sol", "is_dependency": false, "lines": [188, 189, 190, 191], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "price", "source_mapping": {"start": 7130, "length": 700, "filename_relative": "contracts/oracle/OracleRouter.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/oracle/OracleRouter.sol", "filename_short": "contracts/oracle/OracleRouter.sol", "is_dependency": false, "lines": [172, 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": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OETHOracleRouter", "source_mapping": {"start": 6730, "length": 3600, "filename_relative": "contracts/oracle/OracleRouter.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/oracle/OracleRouter.sol", "filename_short": "contracts/oracle/OracleRouter.sol", "is_dependency": false, "lines": [162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249], "starting_column": 1, "ending_column": 2}}, "signature": "price(address)"}}}}], "description": "OETHOracleRouter.price(address) (contracts/oracle/OracleRouter.sol#172-196) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- require(bool,string)(updatedAt + maxStaleness >= block.timestamp,Oracle price too old) (contracts/oracle/OracleRouter.sol#188-191)\n", "markdown": "[OETHOracleRouter.price(address)](contracts/oracle/OracleRouter.sol#L172-L196) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [require(bool,string)(updatedAt + maxStaleness >= block.timestamp,Oracle price too old)](contracts/oracle/OracleRouter.sol#L188-L191)\n", "first_markdown_element": "contracts/oracle/OracleRouter.sol#L172-L196", "id": "30ac3b1240598ae650be71ab351ccb26d9c1933d8b3309eb6b91d9d764e4d2a6", "check": "timestamp", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_stake", "source_mapping": {"start": 4959, "length": 1129, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SingleAssetStaking", "source_mapping": {"start": 466, "length": 18304, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562], "starting_column": 1, "ending_column": 2}}, "signature": "_stake(address,uint8,uint256,uint240,uint256)"}}, {"type": "node", "name": "i != 0 && stakes[i - 1].end > end", "source_mapping": {"start": 5571, "length": 33, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [176], "starting_column": 16, "ending_column": 49}, "type_specific_fields": {"parent": {"type": "function", "name": "_stake", "source_mapping": {"start": 4959, "length": 1129, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SingleAssetStaking", "source_mapping": {"start": 466, "length": 18304, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562], "starting_column": 1, "ending_column": 2}}, "signature": "_stake(address,uint8,uint256,uint240,uint256)"}}}}], "description": "SingleAssetStaking._stake(address,uint8,uint256,uint240,uint256) (contracts/staking/SingleAssetStaking.sol#156-193) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- i != 0 && stakes[i - 1].end > end (contracts/staking/SingleAssetStaking.sol#176)\n", "markdown": "[SingleAssetStaking._stake(address,uint8,uint256,uint240,uint256)](contracts/staking/SingleAssetStaking.sol#L156-L193) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [i != 0 && stakes[i - 1].end > end](contracts/staking/SingleAssetStaking.sol#L176)\n", "first_markdown_element": "contracts/staking/SingleAssetStaking.sol#L156-L193", "id": "59e4d25ecbf272e2b8350c804aa707d9ab173f2564910d304dbc5dc06ede09d1", "check": "timestamp", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "totalCurrentHoldings", "source_mapping": {"start": 9089, "length": 978, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SingleAssetStaking", "source_mapping": {"start": 466, "length": 18304, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562], "starting_column": 1, "ending_column": 2}}, "signature": "totalCurrentHoldings(address)"}}, {"type": "node", "name": "stake.end < block.timestamp", "source_mapping": {"start": 9437, "length": 27, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [310], "starting_column": 24, "ending_column": 51}, "type_specific_fields": {"parent": {"type": "function", "name": "totalCurrentHoldings", "source_mapping": {"start": 9089, "length": 978, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SingleAssetStaking", "source_mapping": {"start": 466, "length": 18304, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562], "starting_column": 1, "ending_column": 2}}, "signature": "totalCurrentHoldings(address)"}}}}], "description": "SingleAssetStaking.totalCurrentHoldings(address) (contracts/staking/SingleAssetStaking.sol#299-326) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- stake.end < block.timestamp (contracts/staking/SingleAssetStaking.sol#310)\n", "markdown": "[SingleAssetStaking.totalCurrentHoldings(address)](contracts/staking/SingleAssetStaking.sol#L299-L326) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [stake.end < block.timestamp](contracts/staking/SingleAssetStaking.sol#L310)\n", "first_markdown_element": "contracts/staking/SingleAssetStaking.sol#L299-L326", "id": "c9a2fccc6d9527ba7a74dff7691406e71d75688e9ec33d21820b86f65c7266f8", "check": "timestamp", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "exit", "source_mapping": {"start": 13747, "length": 1130, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [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], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SingleAssetStaking", "source_mapping": {"start": 466, "length": 18304, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562], "starting_column": 1, "ending_column": 2}}, "signature": "exit()"}}, {"type": "node", "name": "exitStake.end < block.timestamp && exitStake.paid", "source_mapping": {"start": 14159, "length": 49, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [434], "starting_column": 17, "ending_column": 66}, "type_specific_fields": {"parent": {"type": "function", "name": "exit", "source_mapping": {"start": 13747, "length": 1130, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [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], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SingleAssetStaking", "source_mapping": {"start": 466, "length": 18304, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562], "starting_column": 1, "ending_column": 2}}, "signature": "exit()"}}}}, {"type": "node", "name": "exitStake.end < block.timestamp", "source_mapping": {"start": 14298, "length": 31, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [438], "starting_column": 17, "ending_column": 48}, "type_specific_fields": {"parent": {"type": "function", "name": "exit", "source_mapping": {"start": 13747, "length": 1130, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [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], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SingleAssetStaking", "source_mapping": {"start": 466, "length": 18304, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562], "starting_column": 1, "ending_column": 2}}, "signature": "exit()"}}}}], "description": "SingleAssetStaking.exit() (contracts/staking/SingleAssetStaking.sol#424-451) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- exitStake.end < block.timestamp && exitStake.paid (contracts/staking/SingleAssetStaking.sol#434)\n\t- exitStake.end < block.timestamp (contracts/staking/SingleAssetStaking.sol#438)\n", "markdown": "[SingleAssetStaking.exit()](contracts/staking/SingleAssetStaking.sol#L424-L451) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [exitStake.end < block.timestamp && exitStake.paid](contracts/staking/SingleAssetStaking.sol#L434)\n\t- [exitStake.end < block.timestamp](contracts/staking/SingleAssetStaking.sol#L438)\n", "first_markdown_element": "contracts/staking/SingleAssetStaking.sol#L424-L451", "id": "11fe90ed1f7cd460fa16d14548bab47d68ca0f160277bec99bde6f60e254a9ce", "check": "timestamp", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "collectRewardTokens", "source_mapping": {"start": 8208, "length": 2725, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.sol", "is_dependency": false, "lines": [235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AaveStrategy", "source_mapping": {"start": 536, "length": 10399, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305], "starting_column": 1, "ending_column": 2}}, "signature": "collectRewardTokens()"}}, {"type": "node", "name": "block.timestamp > windowStart && block.timestamp <= windowEnd", "source_mapping": {"start": 8774, "length": 61, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.sol", "is_dependency": false, "lines": [252], "starting_column": 13, "ending_column": 74}, "type_specific_fields": {"parent": {"type": "function", "name": "collectRewardTokens", "source_mapping": {"start": 8208, "length": 2725, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.sol", "is_dependency": false, "lines": [235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AaveStrategy", "source_mapping": {"start": 536, "length": 10399, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305], "starting_column": 1, "ending_column": 2}}, "signature": "collectRewardTokens()"}}}}, {"type": "node", "name": "block.timestamp > windowStart || cooldown == 0", "source_mapping": {"start": 9508, "length": 46, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.sol", "is_dependency": false, "lines": [271], "starting_column": 13, "ending_column": 59}, "type_specific_fields": {"parent": {"type": "function", "name": "collectRewardTokens", "source_mapping": {"start": 8208, "length": 2725, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.sol", "is_dependency": false, "lines": [235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AaveStrategy", "source_mapping": {"start": 536, "length": 10399, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305], "starting_column": 1, "ending_column": 2}}, "signature": "collectRewardTokens()"}}}}], "description": "AaveStrategy.collectRewardTokens() (contracts/strategies/AaveStrategy.sol#235-304) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- block.timestamp > windowStart && block.timestamp <= windowEnd (contracts/strategies/AaveStrategy.sol#252)\n\t- block.timestamp > windowStart || cooldown == 0 (contracts/strategies/AaveStrategy.sol#271)\n", "markdown": "[AaveStrategy.collectRewardTokens()](contracts/strategies/AaveStrategy.sol#L235-L304) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [block.timestamp > windowStart && block.timestamp <= windowEnd](contracts/strategies/AaveStrategy.sol#L252)\n\t- [block.timestamp > windowStart || cooldown == 0](contracts/strategies/AaveStrategy.sol#L271)\n", "first_markdown_element": "contracts/strategies/AaveStrategy.sol#L235-L304", "id": "968fabc80c58dd0ce3e948c18f9b2c9c05b6b05906a7348f16dff07c08fcff06", "check": "timestamp", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "checkDelta", "source_mapping": {"start": 1159, "length": 1203, "filename_relative": "contracts/strategies/VaultValueChecker.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/VaultValueChecker.sol", "filename_short": "contracts/strategies/VaultValueChecker.sol", "is_dependency": false, "lines": [39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultValueChecker", "source_mapping": {"start": 158, "length": 2590, "filename_relative": "contracts/strategies/VaultValueChecker.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/VaultValueChecker.sol", "filename_short": "contracts/strategies/VaultValueChecker.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, 79], "starting_column": 1, "ending_column": 2}}, "signature": "checkDelta(int256,int256,int256,int256)"}}, {"type": "node", "name": "require(bool,string)(snapshot.time >= block.timestamp - SNAPSHOT_EXPIRES,Snapshot too old)", "source_mapping": {"start": 1734, "length": 114, "filename_relative": "contracts/strategies/VaultValueChecker.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/VaultValueChecker.sol", "filename_short": "contracts/strategies/VaultValueChecker.sol", "is_dependency": false, "lines": [53, 54, 55, 56], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "checkDelta", "source_mapping": {"start": 1159, "length": 1203, "filename_relative": "contracts/strategies/VaultValueChecker.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/VaultValueChecker.sol", "filename_short": "contracts/strategies/VaultValueChecker.sol", "is_dependency": false, "lines": [39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultValueChecker", "source_mapping": {"start": 158, "length": 2590, "filename_relative": "contracts/strategies/VaultValueChecker.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/VaultValueChecker.sol", "filename_short": "contracts/strategies/VaultValueChecker.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, 79], "starting_column": 1, "ending_column": 2}}, "signature": "checkDelta(int256,int256,int256,int256)"}}}}, {"type": "node", "name": "require(bool,string)(snapshot.time <= block.timestamp,Snapshot too new)", "source_mapping": {"start": 1858, "length": 61, "filename_relative": "contracts/strategies/VaultValueChecker.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/VaultValueChecker.sol", "filename_short": "contracts/strategies/VaultValueChecker.sol", "is_dependency": false, "lines": [57], "starting_column": 9, "ending_column": 70}, "type_specific_fields": {"parent": {"type": "function", "name": "checkDelta", "source_mapping": {"start": 1159, "length": 1203, "filename_relative": "contracts/strategies/VaultValueChecker.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/VaultValueChecker.sol", "filename_short": "contracts/strategies/VaultValueChecker.sol", "is_dependency": false, "lines": [39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultValueChecker", "source_mapping": {"start": 158, "length": 2590, "filename_relative": "contracts/strategies/VaultValueChecker.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/VaultValueChecker.sol", "filename_short": "contracts/strategies/VaultValueChecker.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, 79], "starting_column": 1, "ending_column": 2}}, "signature": "checkDelta(int256,int256,int256,int256)"}}}}, {"type": "node", "name": "require(bool,string)(profit >= expectedProfit - profitVariance,Profit too low)", "source_mapping": {"start": 1929, "length": 68, "filename_relative": "contracts/strategies/VaultValueChecker.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/VaultValueChecker.sol", "filename_short": "contracts/strategies/VaultValueChecker.sol", "is_dependency": false, "lines": [58], "starting_column": 9, "ending_column": 77}, "type_specific_fields": {"parent": {"type": "function", "name": "checkDelta", "source_mapping": {"start": 1159, "length": 1203, "filename_relative": "contracts/strategies/VaultValueChecker.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/VaultValueChecker.sol", "filename_short": "contracts/strategies/VaultValueChecker.sol", "is_dependency": false, "lines": [39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultValueChecker", "source_mapping": {"start": 158, "length": 2590, "filename_relative": "contracts/strategies/VaultValueChecker.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/VaultValueChecker.sol", "filename_short": "contracts/strategies/VaultValueChecker.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, 79], "starting_column": 1, "ending_column": 2}}, "signature": "checkDelta(int256,int256,int256,int256)"}}}}, {"type": "node", "name": "require(bool,string)(profit <= expectedProfit + profitVariance,Profit too high)", "source_mapping": {"start": 2007, "length": 69, "filename_relative": "contracts/strategies/VaultValueChecker.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/VaultValueChecker.sol", "filename_short": "contracts/strategies/VaultValueChecker.sol", "is_dependency": false, "lines": [59], "starting_column": 9, "ending_column": 78}, "type_specific_fields": {"parent": {"type": "function", "name": "checkDelta", "source_mapping": {"start": 1159, "length": 1203, "filename_relative": "contracts/strategies/VaultValueChecker.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/VaultValueChecker.sol", "filename_short": "contracts/strategies/VaultValueChecker.sol", "is_dependency": false, "lines": [39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultValueChecker", "source_mapping": {"start": 158, "length": 2590, "filename_relative": "contracts/strategies/VaultValueChecker.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/VaultValueChecker.sol", "filename_short": "contracts/strategies/VaultValueChecker.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, 79], "starting_column": 1, "ending_column": 2}}, "signature": "checkDelta(int256,int256,int256,int256)"}}}}, {"type": "node", "name": "require(bool,string)(vaultChange >= expectedVaultChange - vaultChangeVariance,Vault value change too low)", "source_mapping": {"start": 2086, "length": 129, "filename_relative": "contracts/strategies/VaultValueChecker.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/VaultValueChecker.sol", "filename_short": "contracts/strategies/VaultValueChecker.sol", "is_dependency": false, "lines": [60, 61, 62, 63], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "checkDelta", "source_mapping": {"start": 1159, "length": 1203, "filename_relative": "contracts/strategies/VaultValueChecker.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/VaultValueChecker.sol", "filename_short": "contracts/strategies/VaultValueChecker.sol", "is_dependency": false, "lines": [39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultValueChecker", "source_mapping": {"start": 158, "length": 2590, "filename_relative": "contracts/strategies/VaultValueChecker.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/VaultValueChecker.sol", "filename_short": "contracts/strategies/VaultValueChecker.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, 79], "starting_column": 1, "ending_column": 2}}, "signature": "checkDelta(int256,int256,int256,int256)"}}}}, {"type": "node", "name": "require(bool,string)(vaultChange <= expectedVaultChange + vaultChangeVariance,Vault value change too high)", "source_mapping": {"start": 2225, "length": 130, "filename_relative": "contracts/strategies/VaultValueChecker.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/VaultValueChecker.sol", "filename_short": "contracts/strategies/VaultValueChecker.sol", "is_dependency": false, "lines": [64, 65, 66, 67], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "checkDelta", "source_mapping": {"start": 1159, "length": 1203, "filename_relative": "contracts/strategies/VaultValueChecker.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/VaultValueChecker.sol", "filename_short": "contracts/strategies/VaultValueChecker.sol", "is_dependency": false, "lines": [39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultValueChecker", "source_mapping": {"start": 158, "length": 2590, "filename_relative": "contracts/strategies/VaultValueChecker.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/VaultValueChecker.sol", "filename_short": "contracts/strategies/VaultValueChecker.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, 79], "starting_column": 1, "ending_column": 2}}, "signature": "checkDelta(int256,int256,int256,int256)"}}}}], "description": "VaultValueChecker.checkDelta(int256,int256,int256,int256) (contracts/strategies/VaultValueChecker.sol#39-68) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- require(bool,string)(snapshot.time >= block.timestamp - SNAPSHOT_EXPIRES,Snapshot too old) (contracts/strategies/VaultValueChecker.sol#53-56)\n\t- require(bool,string)(snapshot.time <= block.timestamp,Snapshot too new) (contracts/strategies/VaultValueChecker.sol#57)\n\t- require(bool,string)(profit >= expectedProfit - profitVariance,Profit too low) (contracts/strategies/VaultValueChecker.sol#58)\n\t- require(bool,string)(profit <= expectedProfit + profitVariance,Profit too high) (contracts/strategies/VaultValueChecker.sol#59)\n\t- require(bool,string)(vaultChange >= expectedVaultChange - vaultChangeVariance,Vault value change too low) (contracts/strategies/VaultValueChecker.sol#60-63)\n\t- require(bool,string)(vaultChange <= expectedVaultChange + vaultChangeVariance,Vault value change too high) (contracts/strategies/VaultValueChecker.sol#64-67)\n", "markdown": "[VaultValueChecker.checkDelta(int256,int256,int256,int256)](contracts/strategies/VaultValueChecker.sol#L39-L68) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [require(bool,string)(snapshot.time >= block.timestamp - SNAPSHOT_EXPIRES,Snapshot too old)](contracts/strategies/VaultValueChecker.sol#L53-L56)\n\t- [require(bool,string)(snapshot.time <= block.timestamp,Snapshot too new)](contracts/strategies/VaultValueChecker.sol#L57)\n\t- [require(bool,string)(profit >= expectedProfit - profitVariance,Profit too low)](contracts/strategies/VaultValueChecker.sol#L58)\n\t- [require(bool,string)(profit <= expectedProfit + profitVariance,Profit too high)](contracts/strategies/VaultValueChecker.sol#L59)\n\t- [require(bool,string)(vaultChange >= expectedVaultChange - vaultChangeVariance,Vault value change too low)](contracts/strategies/VaultValueChecker.sol#L60-L63)\n\t- [require(bool,string)(vaultChange <= expectedVaultChange + vaultChangeVariance,Vault value change too high)](contracts/strategies/VaultValueChecker.sol#L64-L67)\n", "first_markdown_element": "contracts/strategies/VaultValueChecker.sol#L39-L68", "id": "d3613301885a93d6dbc73b145454faf816e3cdaa258c9a2a2f6768e2e79525b3", "check": "timestamp", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "toInt256", "source_mapping": {"start": 2368, "length": 378, "filename_relative": "contracts/strategies/VaultValueChecker.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/VaultValueChecker.sol", "filename_short": "contracts/strategies/VaultValueChecker.sol", "is_dependency": false, "lines": [70, 71, 72, 73, 74, 75, 76, 77, 78], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultValueChecker", "source_mapping": {"start": 158, "length": 2590, "filename_relative": "contracts/strategies/VaultValueChecker.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/VaultValueChecker.sol", "filename_short": "contracts/strategies/VaultValueChecker.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, 79], "starting_column": 1, "ending_column": 2}}, "signature": "toInt256(uint256)"}}, {"type": "node", "name": "require(bool,string)(value <= uint256(type()(int256).max),SafeCast: value doesn't fit in an int256)", "source_mapping": {"start": 2588, "length": 121, "filename_relative": "contracts/strategies/VaultValueChecker.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/VaultValueChecker.sol", "filename_short": "contracts/strategies/VaultValueChecker.sol", "is_dependency": false, "lines": [73, 74, 75, 76], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "toInt256", "source_mapping": {"start": 2368, "length": 378, "filename_relative": "contracts/strategies/VaultValueChecker.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/VaultValueChecker.sol", "filename_short": "contracts/strategies/VaultValueChecker.sol", "is_dependency": false, "lines": [70, 71, 72, 73, 74, 75, 76, 77, 78], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultValueChecker", "source_mapping": {"start": 158, "length": 2590, "filename_relative": "contracts/strategies/VaultValueChecker.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/VaultValueChecker.sol", "filename_short": "contracts/strategies/VaultValueChecker.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, 79], "starting_column": 1, "ending_column": 2}}, "signature": "toInt256(uint256)"}}}}], "description": "VaultValueChecker.toInt256(uint256) (contracts/strategies/VaultValueChecker.sol#70-78) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- require(bool,string)(value <= uint256(type()(int256).max),SafeCast: value doesn't fit in an int256) (contracts/strategies/VaultValueChecker.sol#73-76)\n", "markdown": "[VaultValueChecker.toInt256(uint256)](contracts/strategies/VaultValueChecker.sol#L70-L78) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [require(bool,string)(value <= uint256(type()(int256).max),SafeCast: value doesn't fit in an int256)](contracts/strategies/VaultValueChecker.sol#L73-L76)\n", "first_markdown_element": "contracts/strategies/VaultValueChecker.sol#L70-L78", "id": "b05b7bbec1cc1e45646561a009903c0b29bb6fa4cd5a499f84d6efc2f6feb6df", "check": "timestamp", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "queueTransaction", "source_mapping": {"start": 2824, "length": 716, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Timelock", "source_mapping": {"start": 298, "length": 6391, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242], "starting_column": 1, "ending_column": 2}}, "signature": "queueTransaction(address,string,bytes,uint256)"}}, {"type": "node", "name": "require(bool,string)(eta >= getBlockTimestamp().add(delay),Timelock::queueTransaction: Estimated execution block must satisfy delay.)", "source_mapping": {"start": 3128, "length": 157, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [121, 122, 123, 124], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "queueTransaction", "source_mapping": {"start": 2824, "length": 716, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Timelock", "source_mapping": {"start": 298, "length": 6391, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242], "starting_column": 1, "ending_column": 2}}, "signature": "queueTransaction(address,string,bytes,uint256)"}}}}], "description": "Timelock.queueTransaction(address,string,bytes,uint256) (contracts/timelock/Timelock.sol#111-133) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- require(bool,string)(eta >= getBlockTimestamp().add(delay),Timelock::queueTransaction: Estimated execution block must satisfy delay.) (contracts/timelock/Timelock.sol#121-124)\n", "markdown": "[Timelock.queueTransaction(address,string,bytes,uint256)](contracts/timelock/Timelock.sol#L111-L133) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [require(bool,string)(eta >= getBlockTimestamp().add(delay),Timelock::queueTransaction: Estimated execution block must satisfy delay.)](contracts/timelock/Timelock.sol#L121-L124)\n", "first_markdown_element": "contracts/timelock/Timelock.sol#L111-L133", "id": "309579e288ce535a8bf683a677db815188f46f43fc503822ebe9e2ca4cfee982", "check": "timestamp", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "executeTransaction", "source_mapping": {"start": 4611, "length": 1434, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Timelock", "source_mapping": {"start": 298, "length": 6391, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242], "starting_column": 1, "ending_column": 2}}, "signature": "executeTransaction(address,string,bytes,uint256)"}}, {"type": "node", "name": "require(bool,string)(getBlockTimestamp() >= eta,Timelock::executeTransaction: Transaction hasn't surpassed time lock.)", "source_mapping": {"start": 5180, "length": 142, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [189, 190, 191, 192], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "executeTransaction", "source_mapping": {"start": 4611, "length": 1434, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Timelock", "source_mapping": {"start": 298, "length": 6391, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242], "starting_column": 1, "ending_column": 2}}, "signature": "executeTransaction(address,string,bytes,uint256)"}}}}, {"type": "node", "name": "require(bool,string)(getBlockTimestamp() <= eta.add(GRACE_PERIOD),Timelock::executeTransaction: Transaction is stale.)", "source_mapping": {"start": 5332, "length": 142, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [193, 194, 195, 196], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "executeTransaction", "source_mapping": {"start": 4611, "length": 1434, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Timelock", "source_mapping": {"start": 298, "length": 6391, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242], "starting_column": 1, "ending_column": 2}}, "signature": "executeTransaction(address,string,bytes,uint256)"}}}}], "description": "Timelock.executeTransaction(address,string,bytes,uint256) (contracts/timelock/Timelock.sol#171-220) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- require(bool,string)(getBlockTimestamp() >= eta,Timelock::executeTransaction: Transaction hasn't surpassed time lock.) (contracts/timelock/Timelock.sol#189-192)\n\t- require(bool,string)(getBlockTimestamp() <= eta.add(GRACE_PERIOD),Timelock::executeTransaction: Transaction is stale.) (contracts/timelock/Timelock.sol#193-196)\n", "markdown": "[Timelock.executeTransaction(address,string,bytes,uint256)](contracts/timelock/Timelock.sol#L171-L220) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [require(bool,string)(getBlockTimestamp() >= eta,Timelock::executeTransaction: Transaction hasn't surpassed time lock.)](contracts/timelock/Timelock.sol#L189-L192)\n\t- [require(bool,string)(getBlockTimestamp() <= eta.add(GRACE_PERIOD),Timelock::executeTransaction: Transaction is stale.)](contracts/timelock/Timelock.sol#L193-L196)\n", "first_markdown_element": "contracts/timelock/Timelock.sol#L171-L220", "id": "79f500fc73009411a220ea534de8c32a392f82c28a4f46665588f7059ee2e1db", "check": "timestamp", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "node", "name": "i < assetsMapped.length", "source_mapping": {"start": 2603, "length": 23, "filename_relative": "contracts/strategies/BaseCurveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/BaseCurveStrategy.sol", "filename_short": "contracts/strategies/BaseCurveStrategy.sol", "is_dependency": false, "lines": [71], "starting_column": 29, "ending_column": 52}, "type_specific_fields": {"parent": {"type": "function", "name": "depositAll", "source_mapping": {"start": 2273, "length": 1730, "filename_relative": "contracts/strategies/BaseCurveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/BaseCurveStrategy.sol", "filename_short": "contracts/strategies/BaseCurveStrategy.sol", "is_dependency": false, "lines": [65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseCurveStrategy", "source_mapping": {"start": 536, "length": 11069, "filename_relative": "contracts/strategies/BaseCurveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/BaseCurveStrategy.sol", "filename_short": "contracts/strategies/BaseCurveStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307], "starting_column": 1, "ending_column": 2}}, "signature": "depositAll()"}}}}], "description": "Loop condition i < assetsMapped.length (contracts/strategies/BaseCurveStrategy.sol#71) should use cached array length instead of referencing `length` member of the storage array.\n ", "markdown": "Loop condition [i < assetsMapped.length](contracts/strategies/BaseCurveStrategy.sol#L71) should use cached array length instead of referencing `length` member of the storage array.\n ", "first_markdown_element": "contracts/strategies/BaseCurveStrategy.sol#L71", "id": "00eb856d9eb41c76fa3893d6391c142ff67834587a7816db3ccfea5f906c7beb", "check": "cache-array-length", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "node", "name": "i < assetsMapped.length", "source_mapping": {"start": 3988, "length": 23, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [108], "starting_column": 29, "ending_column": 52}, "type_specific_fields": {"parent": {"type": "function", "name": "collectRewardTokens", "source_mapping": {"start": 2790, "length": 1954, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MorphoCompoundStrategy", "source_mapping": {"start": 608, "length": 7945, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251], "starting_column": 1, "ending_column": 2}}, "signature": "collectRewardTokens()"}}}}], "description": "Loop condition i < assetsMapped.length (contracts/strategies/MorphoCompoundStrategy.sol#108) should use cached array length instead of referencing `length` member of the storage array.\n ", "markdown": "Loop condition [i < assetsMapped.length](contracts/strategies/MorphoCompoundStrategy.sol#L108) should use cached array length instead of referencing `length` member of the storage array.\n ", "first_markdown_element": "contracts/strategies/MorphoCompoundStrategy.sol#L108", "id": "0f668f7a9fbd8dd8cf5f256a648a89ede585af5a1bfb2890671cb61edeaee985", "check": "cache-array-length", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "node", "name": "i < assetsMapped.length", "source_mapping": {"start": 5019, "length": 23, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [134], "starting_column": 29, "ending_column": 52}, "type_specific_fields": {"parent": {"type": "function", "name": "getPendingRewards", "source_mapping": {"start": 4846, "length": 360, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [132, 133, 134, 135, 136, 137, 138, 139], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MorphoCompoundStrategy", "source_mapping": {"start": 608, "length": 7945, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251], "starting_column": 1, "ending_column": 2}}, "signature": "getPendingRewards()"}}}}], "description": "Loop condition i < assetsMapped.length (contracts/strategies/MorphoCompoundStrategy.sol#134) should use cached array length instead of referencing `length` member of the storage array.\n ", "markdown": "Loop condition [i < assetsMapped.length](contracts/strategies/MorphoCompoundStrategy.sol#L134) should use cached array length instead of referencing `length` member of the storage array.\n ", "first_markdown_element": "contracts/strategies/MorphoCompoundStrategy.sol#L134", "id": "125f9e1a415eb9e7fbdcb8c4e5b48f67d49102127bfb2dd609ed19d450e0621a", "check": "cache-array-length", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "node", "name": "i < durations.length", "source_mapping": {"start": 4163, "length": 20, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [136], "starting_column": 29, "ending_column": 49}, "type_specific_fields": {"parent": {"type": "function", "name": "_findDurationRate", "source_mapping": {"start": 4028, "length": 297, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SingleAssetStaking", "source_mapping": {"start": 466, "length": 18304, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562], "starting_column": 1, "ending_column": 2}}, "signature": "_findDurationRate(uint256)"}}}}], "description": "Loop condition i < durations.length (contracts/staking/SingleAssetStaking.sol#136) should use cached array length instead of referencing `length` member of the storage array.\n ", "markdown": "Loop condition [i < durations.length](contracts/staking/SingleAssetStaking.sol#L136) should use cached array length instead of referencing `length` member of the storage array.\n ", "first_markdown_element": "contracts/staking/SingleAssetStaking.sol#L136", "id": "a5e81880592f41137e823b4f15ded88227b6508181f8767dee55d587fde3d611", "check": "cache-array-length", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "node", "name": "i < assetsMapped.length", "source_mapping": {"start": 9693, "length": 23, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.sol", "is_dependency": false, "lines": [278], "starting_column": 33, "ending_column": 56}, "type_specific_fields": {"parent": {"type": "function", "name": "collectRewardTokens", "source_mapping": {"start": 8178, "length": 2692, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.sol", "is_dependency": false, "lines": [239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AaveStrategy", "source_mapping": {"start": 536, "length": 10336, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308], "starting_column": 1, "ending_column": 2}}, "signature": "collectRewardTokens()"}}}}], "description": "Loop condition i < assetsMapped.length (contracts/strategies/AaveStrategy.sol#278) should use cached array length instead of referencing `length` member of the storage array.\n ", "markdown": "Loop condition [i < assetsMapped.length](contracts/strategies/AaveStrategy.sol#L278) should use cached array length instead of referencing `length` member of the storage array.\n ", "first_markdown_element": "contracts/strategies/AaveStrategy.sol#L278", "id": "e931b38970ae25097f584f7e7dd3e72186cff433764ed75bc1d83a29de89d4d1", "check": "cache-array-length", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "function", "name": "_setUniswapUniversalRouter", "source_mapping": {"start": 3522, "length": 320, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.sol", "is_dependency": false, "lines": [104, 105, 106, 107, 108, 109, 110, 111, 112, 113], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseBuyback", "source_mapping": {"start": 546, "length": 7983, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.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, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267], "starting_column": 1, "ending_column": 2}}, "signature": "_setUniswapUniversalRouter(address)"}}, {"type": "node", "name": "IERC20(oToken).approve(universalRouter,0)", "source_mapping": {"start": 3693, "length": 42, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.sol", "is_dependency": false, "lines": [107], "starting_column": 13, "ending_column": 55}, "type_specific_fields": {"parent": {"type": "function", "name": "_setUniswapUniversalRouter", "source_mapping": {"start": 3522, "length": 320, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.sol", "is_dependency": false, "lines": [104, 105, 106, 107, 108, 109, 110, 111, 112, 113], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseBuyback", "source_mapping": {"start": 546, "length": 7983, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.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, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267], "starting_column": 1, "ending_column": 2}}, "signature": "_setUniswapUniversalRouter(address)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "universalRouter = _router", "source_mapping": {"start": 3756, "length": 25, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.sol", "is_dependency": false, "lines": [110], "starting_column": 9, "ending_column": 34}, "type_specific_fields": {"parent": {"type": "function", "name": "_setUniswapUniversalRouter", "source_mapping": {"start": 3522, "length": 320, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.sol", "is_dependency": false, "lines": [104, 105, 106, 107, 108, 109, 110, 111, 112, 113], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseBuyback", "source_mapping": {"start": 546, "length": 7983, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.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, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267], "starting_column": 1, "ending_column": 2}}, "signature": "_setUniswapUniversalRouter(address)"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "universalRouter"}}], "description": "Reentrancy in BaseBuyback._setUniswapUniversalRouter(address) (contracts/buyback/BaseBuyback.sol#104-113):\n\tExternal calls:\n\t- IERC20(oToken).approve(universalRouter,0) (contracts/buyback/BaseBuyback.sol#107)\n\tState variables written after the call(s):\n\t- universalRouter = _router (contracts/buyback/BaseBuyback.sol#110)\n\tBaseBuyback.universalRouter (contracts/buyback/BaseBuyback.sol#30) can be used in cross function reentrancies:\n\t- BaseBuyback._setUniswapUniversalRouter(address) (contracts/buyback/BaseBuyback.sol#104-113)\n\t- BaseBuyback.universalRouter (contracts/buyback/BaseBuyback.sol#30)\n", "markdown": "Reentrancy in [BaseBuyback._setUniswapUniversalRouter(address)](contracts/buyback/BaseBuyback.sol#L104-L113):\n\tExternal calls:\n\t- [IERC20(oToken).approve(universalRouter,0)](contracts/buyback/BaseBuyback.sol#L107)\n\tState variables written after the call(s):\n\t- [universalRouter = _router](contracts/buyback/BaseBuyback.sol#L110)\n\t[BaseBuyback.universalRouter](contracts/buyback/BaseBuyback.sol#L30) can be used in cross function reentrancies:\n\t- [BaseBuyback._setUniswapUniversalRouter(address)](contracts/buyback/BaseBuyback.sol#L104-L113)\n\t- [BaseBuyback.universalRouter](contracts/buyback/BaseBuyback.sol#L30)\n", "first_markdown_element": "contracts/buyback/BaseBuyback.sol#L104-L113", "id": "bccc9acb8443b22ca1e841ba889cf8442ee7ce0439cfee68a23217bad2ff1e26", "check": "reentrancy-no-eth", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_setUniswapUniversalRouter", "source_mapping": {"start": 3522, "length": 320, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.sol", "is_dependency": false, "lines": [104, 105, 106, 107, 108, 109, 110, 111, 112, 113], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseBuyback", "source_mapping": {"start": 546, "length": 7983, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.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, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267], "starting_column": 1, "ending_column": 2}}, "signature": "_setUniswapUniversalRouter(address)"}}, {"type": "node", "name": "IERC20(oToken).approve(universalRouter,0)", "source_mapping": {"start": 3693, "length": 42, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.sol", "is_dependency": false, "lines": [107], "starting_column": 13, "ending_column": 55}, "type_specific_fields": {"parent": {"type": "function", "name": "_setUniswapUniversalRouter", "source_mapping": {"start": 3522, "length": 320, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.sol", "is_dependency": false, "lines": [104, 105, 106, 107, 108, 109, 110, 111, 112, 113], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseBuyback", "source_mapping": {"start": 546, "length": 7983, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.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, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267], "starting_column": 1, "ending_column": 2}}, "signature": "_setUniswapUniversalRouter(address)"}}}}], "description": "BaseBuyback._setUniswapUniversalRouter(address) (contracts/buyback/BaseBuyback.sol#104-113) ignores return value by IERC20(oToken).approve(universalRouter,0) (contracts/buyback/BaseBuyback.sol#107)\n", "markdown": "[BaseBuyback._setUniswapUniversalRouter(address)](contracts/buyback/BaseBuyback.sol#L104-L113) ignores return value by [IERC20(oToken).approve(universalRouter,0)](contracts/buyback/BaseBuyback.sol#L107)\n", "first_markdown_element": "contracts/buyback/BaseBuyback.sol#L104-L113", "id": "0e6b4f58400d0468104b070528bea337ad354c8f15ffe9d80e1e192744d443fa", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_setUniswapUniversalRouter", "source_mapping": {"start": 3480, "length": 320, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.sol", "is_dependency": false, "lines": [103, 104, 105, 106, 107, 108, 109, 110, 111, 112], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseBuyback", "source_mapping": {"start": 546, "length": 7941, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.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, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266], "starting_column": 1, "ending_column": 2}}, "signature": "_setUniswapUniversalRouter(address)"}}, {"type": "node", "name": "IERC20(oToken).approve(universalRouter,0)", "source_mapping": {"start": 3651, "length": 42, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.sol", "is_dependency": false, "lines": [106], "starting_column": 13, "ending_column": 55}, "type_specific_fields": {"parent": {"type": "function", "name": "_setUniswapUniversalRouter", "source_mapping": {"start": 3480, "length": 320, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.sol", "is_dependency": false, "lines": [103, 104, 105, 106, 107, 108, 109, 110, 111, 112], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseBuyback", "source_mapping": {"start": 546, "length": 7941, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.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, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266], "starting_column": 1, "ending_column": 2}}, "signature": "_setUniswapUniversalRouter(address)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "universalRouter = _router", "source_mapping": {"start": 3714, "length": 25, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.sol", "is_dependency": false, "lines": [109], "starting_column": 9, "ending_column": 34}, "type_specific_fields": {"parent": {"type": "function", "name": "_setUniswapUniversalRouter", "source_mapping": {"start": 3480, "length": 320, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.sol", "is_dependency": false, "lines": [103, 104, 105, 106, 107, 108, 109, 110, 111, 112], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseBuyback", "source_mapping": {"start": 546, "length": 7941, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.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, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266], "starting_column": 1, "ending_column": 2}}, "signature": "_setUniswapUniversalRouter(address)"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "universalRouter"}}], "description": "Reentrancy in BaseBuyback._setUniswapUniversalRouter(address) (contracts/buyback/BaseBuyback.sol#103-112):\n\tExternal calls:\n\t- IERC20(oToken).approve(universalRouter,0) (contracts/buyback/BaseBuyback.sol#106)\n\tState variables written after the call(s):\n\t- universalRouter = _router (contracts/buyback/BaseBuyback.sol#109)\n\tBaseBuyback.universalRouter (contracts/buyback/BaseBuyback.sol#30) can be used in cross function reentrancies:\n\t- BaseBuyback._setUniswapUniversalRouter(address) (contracts/buyback/BaseBuyback.sol#103-112)\n\t- BaseBuyback.universalRouter (contracts/buyback/BaseBuyback.sol#30)\n", "markdown": "Reentrancy in [BaseBuyback._setUniswapUniversalRouter(address)](contracts/buyback/BaseBuyback.sol#L103-L112):\n\tExternal calls:\n\t- [IERC20(oToken).approve(universalRouter,0)](contracts/buyback/BaseBuyback.sol#L106)\n\tState variables written after the call(s):\n\t- [universalRouter = _router](contracts/buyback/BaseBuyback.sol#L109)\n\t[BaseBuyback.universalRouter](contracts/buyback/BaseBuyback.sol#L30) can be used in cross function reentrancies:\n\t- [BaseBuyback._setUniswapUniversalRouter(address)](contracts/buyback/BaseBuyback.sol#L103-L112)\n\t- [BaseBuyback.universalRouter](contracts/buyback/BaseBuyback.sol#L30)\n", "first_markdown_element": "contracts/buyback/BaseBuyback.sol#L103-L112", "id": "4e2c66a5727d9f9cf6215dd14b959bcd5593727f47bde61f3fe06848cac85c35", "check": "reentrancy-no-eth", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_setUniswapUniversalRouter", "source_mapping": {"start": 3480, "length": 320, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.sol", "is_dependency": false, "lines": [103, 104, 105, 106, 107, 108, 109, 110, 111, 112], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseBuyback", "source_mapping": {"start": 546, "length": 7941, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.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, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266], "starting_column": 1, "ending_column": 2}}, "signature": "_setUniswapUniversalRouter(address)"}}, {"type": "node", "name": "IERC20(oToken).approve(universalRouter,0)", "source_mapping": {"start": 3651, "length": 42, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.sol", "is_dependency": false, "lines": [106], "starting_column": 13, "ending_column": 55}, "type_specific_fields": {"parent": {"type": "function", "name": "_setUniswapUniversalRouter", "source_mapping": {"start": 3480, "length": 320, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.sol", "is_dependency": false, "lines": [103, 104, 105, 106, 107, 108, 109, 110, 111, 112], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseBuyback", "source_mapping": {"start": 546, "length": 7941, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.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, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266], "starting_column": 1, "ending_column": 2}}, "signature": "_setUniswapUniversalRouter(address)"}}}}], "description": "BaseBuyback._setUniswapUniversalRouter(address) (contracts/buyback/BaseBuyback.sol#103-112) ignores return value by IERC20(oToken).approve(universalRouter,0) (contracts/buyback/BaseBuyback.sol#106)\n", "markdown": "[BaseBuyback._setUniswapUniversalRouter(address)](contracts/buyback/BaseBuyback.sol#L103-L112) ignores return value by [IERC20(oToken).approve(universalRouter,0)](contracts/buyback/BaseBuyback.sol#L106)\n", "first_markdown_element": "contracts/buyback/BaseBuyback.sol#L103-L112", "id": "7a20874f6f861f199337da5b19ec4694217da101724d2cd37244d03f288e947f", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_setUniswapUniversalRouter", "source_mapping": {"start": 3767, "length": 372, "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.sol", "is_dependency": false, "lines": [117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Buyback", "source_mapping": {"start": 546, "length": 11684, "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.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, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374], "starting_column": 1, "ending_column": 2}}, "signature": "_setUniswapUniversalRouter(address)"}}, {"type": "node", "name": "IERC20(ousd).approve(universalRouter,0)", "source_mapping": {"start": 3938, "length": 40, "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.sol", "is_dependency": false, "lines": [120], "starting_column": 13, "ending_column": 53}, "type_specific_fields": {"parent": {"type": "function", "name": "_setUniswapUniversalRouter", "source_mapping": {"start": 3767, "length": 372, "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.sol", "is_dependency": false, "lines": [117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Buyback", "source_mapping": {"start": 546, "length": 11684, "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.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, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374], "starting_column": 1, "ending_column": 2}}, "signature": "_setUniswapUniversalRouter(address)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "IERC20(oeth).approve(universalRouter,0)", "source_mapping": {"start": 3992, "length": 40, "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.sol", "is_dependency": false, "lines": [121], "starting_column": 13, "ending_column": 53}, "type_specific_fields": {"parent": {"type": "function", "name": "_setUniswapUniversalRouter", "source_mapping": {"start": 3767, "length": 372, "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.sol", "is_dependency": false, "lines": [117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Buyback", "source_mapping": {"start": 546, "length": 11684, "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.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, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374], "starting_column": 1, "ending_column": 2}}, "signature": "_setUniswapUniversalRouter(address)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "universalRouter = _router", "source_mapping": {"start": 4053, "length": 25, "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.sol", "is_dependency": false, "lines": [124], "starting_column": 9, "ending_column": 34}, "type_specific_fields": {"parent": {"type": "function", "name": "_setUniswapUniversalRouter", "source_mapping": {"start": 3767, "length": 372, "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.sol", "is_dependency": false, "lines": [117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Buyback", "source_mapping": {"start": 546, "length": 11684, "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.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, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374], "starting_column": 1, "ending_column": 2}}, "signature": "_setUniswapUniversalRouter(address)"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "universalRouter"}}], "description": "Reentrancy in Buyback._setUniswapUniversalRouter(address) (contracts/buyback/Buyback.sol#117-127):\n\tExternal calls:\n\t- IERC20(ousd).approve(universalRouter,0) (contracts/buyback/Buyback.sol#120)\n\t- IERC20(oeth).approve(universalRouter,0) (contracts/buyback/Buyback.sol#121)\n\tState variables written after the call(s):\n\t- universalRouter = _router (contracts/buyback/Buyback.sol#124)\n\tBuyback.universalRouter (contracts/buyback/Buyback.sol#37) can be used in cross function reentrancies:\n\t- Buyback._setUniswapUniversalRouter(address) (contracts/buyback/Buyback.sol#117-127)\n\t- Buyback.universalRouter (contracts/buyback/Buyback.sol#37)\n", "markdown": "Reentrancy in [Buyback._setUniswapUniversalRouter(address)](contracts/buyback/Buyback.sol#L117-L127):\n\tExternal calls:\n\t- [IERC20(ousd).approve(universalRouter,0)](contracts/buyback/Buyback.sol#L120)\n\t- [IERC20(oeth).approve(universalRouter,0)](contracts/buyback/Buyback.sol#L121)\n\tState variables written after the call(s):\n\t- [universalRouter = _router](contracts/buyback/Buyback.sol#L124)\n\t[Buyback.universalRouter](contracts/buyback/Buyback.sol#L37) can be used in cross function reentrancies:\n\t- [Buyback._setUniswapUniversalRouter(address)](contracts/buyback/Buyback.sol#L117-L127)\n\t- [Buyback.universalRouter](contracts/buyback/Buyback.sol#L37)\n", "first_markdown_element": "contracts/buyback/Buyback.sol#L117-L127", "id": "b932a6b36d3ab0a8e79857c0b0c725c46b791263a4f87c7e06f1c76c3179f6f6", "check": "reentrancy-no-eth", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_setUniswapUniversalRouter", "source_mapping": {"start": 3767, "length": 372, "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.sol", "is_dependency": false, "lines": [117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Buyback", "source_mapping": {"start": 546, "length": 11684, "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.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, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374], "starting_column": 1, "ending_column": 2}}, "signature": "_setUniswapUniversalRouter(address)"}}, {"type": "node", "name": "IERC20(ousd).approve(universalRouter,0)", "source_mapping": {"start": 3938, "length": 40, "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.sol", "is_dependency": false, "lines": [120], "starting_column": 13, "ending_column": 53}, "type_specific_fields": {"parent": {"type": "function", "name": "_setUniswapUniversalRouter", "source_mapping": {"start": 3767, "length": 372, "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.sol", "is_dependency": false, "lines": [117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Buyback", "source_mapping": {"start": 546, "length": 11684, "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.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, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374], "starting_column": 1, "ending_column": 2}}, "signature": "_setUniswapUniversalRouter(address)"}}}}], "description": "Buyback._setUniswapUniversalRouter(address) (contracts/buyback/Buyback.sol#117-127) ignores return value by IERC20(ousd).approve(universalRouter,0) (contracts/buyback/Buyback.sol#120)\n", "markdown": "[Buyback._setUniswapUniversalRouter(address)](contracts/buyback/Buyback.sol#L117-L127) ignores return value by [IERC20(ousd).approve(universalRouter,0)](contracts/buyback/Buyback.sol#L120)\n", "first_markdown_element": "contracts/buyback/Buyback.sol#L117-L127", "id": "7daab5d45656d0cecde144179adfd717608cba4dd9fb6b953f5f14d96c146dd1", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_setUniswapUniversalRouter", "source_mapping": {"start": 3767, "length": 372, "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.sol", "is_dependency": false, "lines": [117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Buyback", "source_mapping": {"start": 546, "length": 11684, "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.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, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374], "starting_column": 1, "ending_column": 2}}, "signature": "_setUniswapUniversalRouter(address)"}}, {"type": "node", "name": "IERC20(oeth).approve(universalRouter,0)", "source_mapping": {"start": 3992, "length": 40, "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.sol", "is_dependency": false, "lines": [121], "starting_column": 13, "ending_column": 53}, "type_specific_fields": {"parent": {"type": "function", "name": "_setUniswapUniversalRouter", "source_mapping": {"start": 3767, "length": 372, "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.sol", "is_dependency": false, "lines": [117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Buyback", "source_mapping": {"start": 546, "length": 11684, "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.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, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374], "starting_column": 1, "ending_column": 2}}, "signature": "_setUniswapUniversalRouter(address)"}}}}], "description": "Buyback._setUniswapUniversalRouter(address) (contracts/buyback/Buyback.sol#117-127) ignores return value by IERC20(oeth).approve(universalRouter,0) (contracts/buyback/Buyback.sol#121)\n", "markdown": "[Buyback._setUniswapUniversalRouter(address)](contracts/buyback/Buyback.sol#L117-L127) ignores return value by [IERC20(oeth).approve(universalRouter,0)](contracts/buyback/Buyback.sol#L121)\n", "first_markdown_element": "contracts/buyback/Buyback.sol#L117-L127", "id": "f93fa4e05fd64289e99e04fe22132cd474fc8db7419d99a3e6a1adfa993b2193", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_deposit", "source_mapping": {"start": 6928, "length": 2553, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.sol", "is_dependency": false, "lines": [178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ConvexEthMetaStrategy", "source_mapping": {"start": 769, "length": 22879, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622], "starting_column": 1, "ending_column": 2}}, "signature": "_deposit(address,uint256)"}}, {"type": "node", "name": "lpDeposited = curvePool.add_liquidity{value: _wethAmount}(_amounts,minMintAmount)", "source_mapping": {"start": 9006, "length": 126, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.sol", "is_dependency": false, "lines": [227, 228, 229, 230], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "_deposit", "source_mapping": {"start": 6928, "length": 2553, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.sol", "is_dependency": false, "lines": [178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ConvexEthMetaStrategy", "source_mapping": {"start": 769, "length": 22879, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622], "starting_column": 1, "ending_column": 2}}, "signature": "_deposit(address,uint256)"}}}}], "description": "ConvexEthMetaStrategy._deposit(address,uint256) (contracts/strategies/ConvexEthMetaStrategy.sol#178-241) sends eth to arbitrary user\n\tDangerous calls:\n\t- lpDeposited = curvePool.add_liquidity{value: _wethAmount}(_amounts,minMintAmount) (contracts/strategies/ConvexEthMetaStrategy.sol#227-230)\n", "markdown": "[ConvexEthMetaStrategy._deposit(address,uint256)](contracts/strategies/ConvexEthMetaStrategy.sol#L178-L241) sends eth to arbitrary user\n\tDangerous calls:\n\t- [lpDeposited = curvePool.add_liquidity{value: _wethAmount}(_amounts,minMintAmount)](contracts/strategies/ConvexEthMetaStrategy.sol#L227-L230)\n", "first_markdown_element": "contracts/strategies/ConvexEthMetaStrategy.sol#L178-L241", "id": "75ef502a2f513f385a2c424812fba1371a2945d29db42fd46795b68a3fb7ec9d", "check": "arbitrary-send-eth", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "price", "source_mapping": {"start": 1593, "length": 894, "filename_relative": "contracts/oracle/OracleRouter.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/oracle/OracleRouter.sol", "filename_short": "contracts/oracle/OracleRouter.sol", "is_dependency": false, "lines": [41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OracleRouterBase", "source_mapping": {"start": 429, "length": 3340, "filename_relative": "contracts/oracle/OracleRouter.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/oracle/OracleRouter.sol", "filename_short": "contracts/oracle/OracleRouter.sol", "is_dependency": false, "lines": [11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100], "starting_column": 1, "ending_column": 2}}, "signature": "price(address)"}}, {"type": "node", "name": "(_iprice,updatedAt) = AggregatorV3Interface(_feed).latestRoundData()", "source_mapping": {"start": 1931, "length": 103, "filename_relative": "contracts/oracle/OracleRouter.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/oracle/OracleRouter.sol", "filename_short": "contracts/oracle/OracleRouter.sol", "is_dependency": false, "lines": [52, 53], "starting_column": 9, "ending_column": 31}, "type_specific_fields": {"parent": {"type": "function", "name": "price", "source_mapping": {"start": 1593, "length": 894, "filename_relative": "contracts/oracle/OracleRouter.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/oracle/OracleRouter.sol", "filename_short": "contracts/oracle/OracleRouter.sol", "is_dependency": false, "lines": [41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OracleRouterBase", "source_mapping": {"start": 429, "length": 3340, "filename_relative": "contracts/oracle/OracleRouter.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/oracle/OracleRouter.sol", "filename_short": "contracts/oracle/OracleRouter.sol", "is_dependency": false, "lines": [11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100], "starting_column": 1, "ending_column": 2}}, "signature": "price(address)"}}}}], "description": "OracleRouterBase.price(address) (contracts/oracle/OracleRouter.sol#41-68) ignores return value by (_iprice,updatedAt) = AggregatorV3Interface(_feed).latestRoundData() (contracts/oracle/OracleRouter.sol#52-53)\n", "markdown": "[OracleRouterBase.price(address)](contracts/oracle/OracleRouter.sol#L41-L68) ignores return value by [(_iprice,updatedAt) = AggregatorV3Interface(_feed).latestRoundData()](contracts/oracle/OracleRouter.sol#L52-L53)\n", "first_markdown_element": "contracts/oracle/OracleRouter.sol#L41-L68", "id": "6209af3b6f21e22017468756cdffc0905ff6a469cffe32a283d178692f200e96", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "price", "source_mapping": {"start": 7130, "length": 700, "filename_relative": "contracts/oracle/OracleRouter.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/oracle/OracleRouter.sol", "filename_short": "contracts/oracle/OracleRouter.sol", "is_dependency": false, "lines": [172, 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": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OETHOracleRouter", "source_mapping": {"start": 6730, "length": 3600, "filename_relative": "contracts/oracle/OracleRouter.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/oracle/OracleRouter.sol", "filename_short": "contracts/oracle/OracleRouter.sol", "is_dependency": false, "lines": [162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249], "starting_column": 1, "ending_column": 2}}, "signature": "price(address)"}}, {"type": "node", "name": "(_iprice,updatedAt) = AggregatorV3Interface(_feed).latestRoundData()", "source_mapping": {"start": 7465, "length": 103, "filename_relative": "contracts/oracle/OracleRouter.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/oracle/OracleRouter.sol", "filename_short": "contracts/oracle/OracleRouter.sol", "is_dependency": false, "lines": [185, 186], "starting_column": 9, "ending_column": 31}, "type_specific_fields": {"parent": {"type": "function", "name": "price", "source_mapping": {"start": 7130, "length": 700, "filename_relative": "contracts/oracle/OracleRouter.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/oracle/OracleRouter.sol", "filename_short": "contracts/oracle/OracleRouter.sol", "is_dependency": false, "lines": [172, 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": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OETHOracleRouter", "source_mapping": {"start": 6730, "length": 3600, "filename_relative": "contracts/oracle/OracleRouter.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/oracle/OracleRouter.sol", "filename_short": "contracts/oracle/OracleRouter.sol", "is_dependency": false, "lines": [162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249], "starting_column": 1, "ending_column": 2}}, "signature": "price(address)"}}}}], "description": "OETHOracleRouter.price(address) (contracts/oracle/OracleRouter.sol#172-196) ignores return value by (_iprice,updatedAt) = AggregatorV3Interface(_feed).latestRoundData() (contracts/oracle/OracleRouter.sol#185-186)\n", "markdown": "[OETHOracleRouter.price(address)](contracts/oracle/OracleRouter.sol#L172-L196) ignores return value by [(_iprice,updatedAt) = AggregatorV3Interface(_feed).latestRoundData()](contracts/oracle/OracleRouter.sol#L185-L186)\n", "first_markdown_element": "contracts/oracle/OracleRouter.sol#L172-L196", "id": "b3a9b1629bc0c0c5f2edbcecdd5b6cc290654923a39479541a280c9b6a7f477d", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_checkBalance", "source_mapping": {"start": 6528, "length": 369, "filename_relative": "contracts/strategies/MorphoAaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoAaveStrategy.sol", "filename_short": "contracts/strategies/MorphoAaveStrategy.sol", "is_dependency": false, "lines": [202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MorphoAaveStrategy", "source_mapping": {"start": 563, "length": 7125, "filename_relative": "contracts/strategies/MorphoAaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoAaveStrategy.sol", "filename_short": "contracts/strategies/MorphoAaveStrategy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240], "starting_column": 1, "ending_column": 2}}, "signature": "_checkBalance(address)"}}, {"type": "node", "name": "(None,None,balance) = ILens(LENS).getCurrentSupplyBalanceInOf(pToken,address(this))", "source_mapping": {"start": 6778, "length": 112, "filename_relative": "contracts/strategies/MorphoAaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoAaveStrategy.sol", "filename_short": "contracts/strategies/MorphoAaveStrategy.sol", "is_dependency": false, "lines": [210, 211, 212, 213], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "_checkBalance", "source_mapping": {"start": 6528, "length": 369, "filename_relative": "contracts/strategies/MorphoAaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoAaveStrategy.sol", "filename_short": "contracts/strategies/MorphoAaveStrategy.sol", "is_dependency": false, "lines": [202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MorphoAaveStrategy", "source_mapping": {"start": 563, "length": 7125, "filename_relative": "contracts/strategies/MorphoAaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoAaveStrategy.sol", "filename_short": "contracts/strategies/MorphoAaveStrategy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240], "starting_column": 1, "ending_column": 2}}, "signature": "_checkBalance(address)"}}}}], "description": "MorphoAaveStrategy._checkBalance(address) (contracts/strategies/MorphoAaveStrategy.sol#202-214) ignores return value by (None,None,balance) = ILens(LENS).getCurrentSupplyBalanceInOf(pToken,address(this)) (contracts/strategies/MorphoAaveStrategy.sol#210-213)\n", "markdown": "[MorphoAaveStrategy._checkBalance(address)](contracts/strategies/MorphoAaveStrategy.sol#L202-L214) ignores return value by [(None,None,balance) = ILens(LENS).getCurrentSupplyBalanceInOf(pToken,address(this))](contracts/strategies/MorphoAaveStrategy.sol#L210-L213)\n", "first_markdown_element": "contracts/strategies/MorphoAaveStrategy.sol#L202-L214", "id": "4cf7355ba40b814d1901bb2d39a6f82a6123393dfb73c4b4ffde2185135ce437", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_checkBalance", "source_mapping": {"start": 8191, "length": 360, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MorphoCompoundStrategy", "source_mapping": {"start": 608, "length": 7945, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251], "starting_column": 1, "ending_column": 2}}, "signature": "_checkBalance(address)"}}, {"type": "node", "name": "(None,None,balance) = ILens(LENS).getCurrentSupplyBalanceInOf(pToken,address(this))", "source_mapping": {"start": 8432, "length": 112, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [246, 247, 248, 249], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "_checkBalance", "source_mapping": {"start": 8191, "length": 360, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MorphoCompoundStrategy", "source_mapping": {"start": 608, "length": 7945, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251], "starting_column": 1, "ending_column": 2}}, "signature": "_checkBalance(address)"}}}}], "description": "MorphoCompoundStrategy._checkBalance(address) (contracts/strategies/MorphoCompoundStrategy.sol#238-250) ignores return value by (None,None,balance) = ILens(LENS).getCurrentSupplyBalanceInOf(pToken,address(this)) (contracts/strategies/MorphoCompoundStrategy.sol#246-249)\n", "markdown": "[MorphoCompoundStrategy._checkBalance(address)](contracts/strategies/MorphoCompoundStrategy.sol#L238-L250) ignores return value by [(None,None,balance) = ILens(LENS).getCurrentSupplyBalanceInOf(pToken,address(this))](contracts/strategies/MorphoCompoundStrategy.sol#L246-L249)\n", "first_markdown_element": "contracts/strategies/MorphoCompoundStrategy.sol#L238-L250", "id": "aae8756dd4310146d8bb051edd3c3ab77f1a8d97181e0a98177aedc43a56e23d", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_getPoolAssets", "source_mapping": {"start": 12543, "length": 148, "filename_relative": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_short": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "is_dependency": false, "lines": [304, 305, 306], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseBalancerStrategy", "source_mapping": {"start": 798, "length": 17926, "filename_relative": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_short": "contracts/strategies/balancer/BaseBalancerStrategy.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, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 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], "starting_column": 1, "ending_column": 2}}, "signature": "_getPoolAssets()"}}, {"type": "node", "name": "(assets,None,None) = balancerVault.getPoolTokens(balancerPoolId)", "source_mapping": {"start": 12626, "length": 58, "filename_relative": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_short": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "is_dependency": false, "lines": [305], "starting_column": 9, "ending_column": 67}, "type_specific_fields": {"parent": {"type": "function", "name": "_getPoolAssets", "source_mapping": {"start": 12543, "length": 148, "filename_relative": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_short": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "is_dependency": false, "lines": [304, 305, 306], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseBalancerStrategy", "source_mapping": {"start": 798, "length": 17926, "filename_relative": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_short": "contracts/strategies/balancer/BaseBalancerStrategy.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, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 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], "starting_column": 1, "ending_column": 2}}, "signature": "_getPoolAssets()"}}}}], "description": "BaseBalancerStrategy._getPoolAssets() (contracts/strategies/balancer/BaseBalancerStrategy.sol#304-306) ignores return value by (assets,None,None) = balancerVault.getPoolTokens(balancerPoolId) (contracts/strategies/balancer/BaseBalancerStrategy.sol#305)\n", "markdown": "[BaseBalancerStrategy._getPoolAssets()](contracts/strategies/balancer/BaseBalancerStrategy.sol#L304-L306) ignores return value by [(assets,None,None) = balancerVault.getPoolTokens(balancerPoolId)](contracts/strategies/balancer/BaseBalancerStrategy.sol#L305)\n", "first_markdown_element": "contracts/strategies/balancer/BaseBalancerStrategy.sol#L304-L306", "id": "21c54e3d1ca39fd24d0f103cf5e24127d7744808ffa3864cfb51a5f86248ff5f", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_deposit", "source_mapping": {"start": 3095, "length": 3242, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BalancerMetaPoolStrategy", "source_mapping": {"start": 708, "length": 21715, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "_deposit(address[],uint256[])"}}, {"type": "node", "name": "(tokens) = balancerVault.getPoolTokens(balancerPoolId)", "source_mapping": {"start": 3352, "length": 96, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [92, 93, 94], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "_deposit", "source_mapping": {"start": 3095, "length": 3242, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BalancerMetaPoolStrategy", "source_mapping": {"start": 708, "length": 21715, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "_deposit(address[],uint256[])"}}}}], "description": "BalancerMetaPoolStrategy._deposit(address[],uint256[]) (contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#83-173) ignores return value by (tokens) = balancerVault.getPoolTokens(balancerPoolId) (contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#92-94)\n", "markdown": "[BalancerMetaPoolStrategy._deposit(address[],uint256[])](contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L83-L173) ignores return value by [(tokens) = balancerVault.getPoolTokens(balancerPoolId)](contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L92-L94)\n", "first_markdown_element": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L83-L173", "id": "c6f964aee4da3934e983a28493b99b37bfadfca9bd8718a64f3e4bc82580b751", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_withdraw", "source_mapping": {"start": 8546, "length": 6981, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BalancerMetaPoolStrategy", "source_mapping": {"start": 708, "length": 21715, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "_withdraw(address,address[],uint256[])"}}, {"type": "node", "name": "(tokens) = balancerVault.getPoolTokens(balancerPoolId)", "source_mapping": {"start": 9196, "length": 96, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [240, 241, 242], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "_withdraw", "source_mapping": {"start": 8546, "length": 6981, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BalancerMetaPoolStrategy", "source_mapping": {"start": 708, "length": 21715, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "_withdraw(address,address[],uint256[])"}}}}], "description": "BalancerMetaPoolStrategy._withdraw(address,address[],uint256[]) (contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#220-384) ignores return value by (tokens) = balancerVault.getPoolTokens(balancerPoolId) (contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#240-242)\n", "markdown": "[BalancerMetaPoolStrategy._withdraw(address,address[],uint256[])](contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L220-L384) ignores return value by [(tokens) = balancerVault.getPoolTokens(balancerPoolId)](contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L240-L242)\n", "first_markdown_element": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L220-L384", "id": "b6dfd0234a00fe7ec86440a81eff1c382ad27a77a030e172fa8ed3c20e62835f", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "withdrawAll", "source_mapping": {"start": 15746, "length": 3500, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [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], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BalancerMetaPoolStrategy", "source_mapping": {"start": 708, "length": 21715, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "withdrawAll()"}}, {"type": "node", "name": "(tokens) = balancerVault.getPoolTokens(balancerPoolId)", "source_mapping": {"start": 16219, "length": 96, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [401, 402, 403], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "withdrawAll", "source_mapping": {"start": 15746, "length": 3500, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [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], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BalancerMetaPoolStrategy", "source_mapping": {"start": 708, "length": 21715, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "withdrawAll()"}}}}], "description": "BalancerMetaPoolStrategy.withdrawAll() (contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#392-473) ignores return value by (tokens) = balancerVault.getPoolTokens(balancerPoolId) (contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#401-403)\n", "markdown": "[BalancerMetaPoolStrategy.withdrawAll()](contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L392-L473) ignores return value by [(tokens) = balancerVault.getPoolTokens(balancerPoolId)](contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L401-L403)\n", "first_markdown_element": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L392-L473", "id": "a7365da818ffe46e2f970cfb2adeba732b39671fb32ad6fc01b30eb86796d70a", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_getRateProviderRate", "source_mapping": {"start": 21512, "length": 909, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BalancerMetaPoolStrategy", "source_mapping": {"start": 708, "length": 21715, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "_getRateProviderRate(address)"}}, {"type": "node", "name": "(tokens) = balancerVault.getPoolTokens(balancerPoolId)", "source_mapping": {"start": 21778, "length": 96, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [542, 543, 544], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "_getRateProviderRate", "source_mapping": {"start": 21512, "length": 909, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BalancerMetaPoolStrategy", "source_mapping": {"start": 708, "length": 21715, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "_getRateProviderRate(address)"}}}}], "description": "BalancerMetaPoolStrategy._getRateProviderRate(address) (contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#534-560) ignores return value by (tokens) = balancerVault.getPoolTokens(balancerPoolId) (contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#542-544)\n", "markdown": "[BalancerMetaPoolStrategy._getRateProviderRate(address)](contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L534-L560) ignores return value by [(tokens) = balancerVault.getPoolTokens(balancerPoolId)](contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L542-L544)\n", "first_markdown_element": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L534-L560", "id": "36ed2fe9e73d5e1d882a0bd06ef1472869f8bdb8fe801c9015e95738edb9be60", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "swap", "source_mapping": {"start": 1921, "length": 2324, "filename_relative": "contracts/swapper/Swapper1InchV5.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/swapper/Swapper1InchV5.sol", "filename_short": "contracts/swapper/Swapper1InchV5.sol", "is_dependency": false, "lines": [40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Swapper1InchV5", "source_mapping": {"start": 756, "length": 3993, "filename_relative": "contracts/swapper/Swapper1InchV5.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/swapper/Swapper1InchV5.sol", "filename_short": "contracts/swapper/Swapper1InchV5.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, 99, 100, 101, 102, 103, 104, 105, 106, 107], "starting_column": 1, "ending_column": 2}}, "signature": "swap(address,address,uint256,uint256,bytes)"}}, {"type": "node", "name": "(toAssetAmount,None) = IOneInchRouter(SWAP_ROUTER).swap(IAggregationExecutor(executer),swapDesc,,executerData)", "source_mapping": {"start": 3028, "length": 193, "filename_relative": "contracts/swapper/Swapper1InchV5.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/swapper/Swapper1InchV5.sol", "filename_short": "contracts/swapper/Swapper1InchV5.sol", "is_dependency": false, "lines": [65, 66, 67, 68, 69, 70], "starting_column": 13, "ending_column": 14}, "type_specific_fields": {"parent": {"type": "function", "name": "swap", "source_mapping": {"start": 1921, "length": 2324, "filename_relative": "contracts/swapper/Swapper1InchV5.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/swapper/Swapper1InchV5.sol", "filename_short": "contracts/swapper/Swapper1InchV5.sol", "is_dependency": false, "lines": [40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Swapper1InchV5", "source_mapping": {"start": 756, "length": 3993, "filename_relative": "contracts/swapper/Swapper1InchV5.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/swapper/Swapper1InchV5.sol", "filename_short": "contracts/swapper/Swapper1InchV5.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, 99, 100, 101, 102, 103, 104, 105, 106, 107], "starting_column": 1, "ending_column": 2}}, "signature": "swap(address,address,uint256,uint256,bytes)"}}}}], "description": "Swapper1InchV5.swap(address,address,uint256,uint256,bytes) (contracts/swapper/Swapper1InchV5.sol#40-94) ignores return value by (toAssetAmount,None) = IOneInchRouter(SWAP_ROUTER).swap(IAggregationExecutor(executer),swapDesc,,executerData) (contracts/swapper/Swapper1InchV5.sol#65-70)\n", "markdown": "[Swapper1InchV5.swap(address,address,uint256,uint256,bytes)](contracts/swapper/Swapper1InchV5.sol#L40-L94) ignores return value by [(toAssetAmount,None) = IOneInchRouter(SWAP_ROUTER).swap(IAggregationExecutor(executer),swapDesc,,executerData)](contracts/swapper/Swapper1InchV5.sol#L65-L70)\n", "first_markdown_element": "contracts/swapper/Swapper1InchV5.sol#L40-L94", "id": "a20be31d0dee33859aaf12dbf3a9efdddb933083e9aaec46c76173e1e0576290", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "onlyUnlockedAdjuster", "source_mapping": {"start": 5015, "length": 184, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [159, 160, 161, 162, 163], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompensationClaims", "source_mapping": {"start": 1527, "length": 3674, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164], "starting_column": 1, "ending_column": 2}}, "signature": "onlyUnlockedAdjuster()"}}, {"type": "node", "name": "require(bool,string)(isAdjusterLocked == false,Adjuster must be unlocked)", "source_mapping": {"start": 5057, "length": 63, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [160], "starting_column": 9, "ending_column": 72}, "type_specific_fields": {"parent": {"type": "function", "name": "onlyUnlockedAdjuster", "source_mapping": {"start": 5015, "length": 184, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [159, 160, 161, 162, 163], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompensationClaims", "source_mapping": {"start": 1527, "length": 3674, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164], "starting_column": 1, "ending_column": 2}}, "signature": "onlyUnlockedAdjuster()"}}}}], "description": "CompensationClaims.onlyUnlockedAdjuster() (contracts/compensation/CompensationClaims.sol#159-163) compares to a boolean constant:\n\t-require(bool,string)(isAdjusterLocked == false,Adjuster must be unlocked) (contracts/compensation/CompensationClaims.sol#160)\n", "markdown": "[CompensationClaims.onlyUnlockedAdjuster()](contracts/compensation/CompensationClaims.sol#L159-L163) compares to a boolean constant:\n\t-[require(bool,string)(isAdjusterLocked == false,Adjuster must be unlocked)](contracts/compensation/CompensationClaims.sol#L160)\n", "first_markdown_element": "contracts/compensation/CompensationClaims.sol#L159-L163", "id": "c674328ac540cee46322710f4f2b564022817568b3de72c2f333499667897fb6", "check": "boolean-equal", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "setClaims", "source_mapping": {"start": 2859, "length": 679, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompensationClaims", "source_mapping": {"start": 1527, "length": 3674, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164], "starting_column": 1, "ending_column": 2}}, "signature": "setClaims(address[],uint256[])"}}, {"type": "node", "name": "totalClaims = totalClaims.add(newAmount).sub(oldAmount)", "source_mapping": {"start": 3417, "length": 55, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [100], "starting_column": 13, "ending_column": 68}, "type_specific_fields": {"parent": {"type": "function", "name": "setClaims", "source_mapping": {"start": 2859, "length": 679, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompensationClaims", "source_mapping": {"start": 1527, "length": 3674, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164], "starting_column": 1, "ending_column": 2}}, "signature": "setClaims(address[],uint256[])"}}}}], "description": "CompensationClaims.setClaims(address[],uint256[]) (contracts/compensation/CompensationClaims.sol#86-103) has costly operations inside a loop:\n\t- totalClaims = totalClaims.add(newAmount).sub(oldAmount) (contracts/compensation/CompensationClaims.sol#100)\n", "markdown": "[CompensationClaims.setClaims(address[],uint256[])](contracts/compensation/CompensationClaims.sol#L86-L103) has costly operations inside a loop:\n\t- [totalClaims = totalClaims.add(newAmount).sub(oldAmount)](contracts/compensation/CompensationClaims.sol#L100)\n", "first_markdown_element": "contracts/compensation/CompensationClaims.sol#L86-L103", "id": "ead4689fefe47be38b040394ae6995dc07b10079222841e5c24d8b378ff13658", "check": "costly-loop", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_fromPoolAsset", "source_mapping": {"start": 15639, "length": 615, "filename_relative": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_short": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "is_dependency": false, "lines": [400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseBalancerStrategy", "source_mapping": {"start": 798, "length": 17926, "filename_relative": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_short": "contracts/strategies/balancer/BaseBalancerStrategy.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, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 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], "starting_column": 1, "ending_column": 2}}, "signature": "_fromPoolAsset(address,uint256)"}}], "description": "BaseBalancerStrategy._fromPoolAsset(address,uint256) (contracts/strategies/balancer/BaseBalancerStrategy.sol#400-419) is never used and should be removed\n", "markdown": "[BaseBalancerStrategy._fromPoolAsset(address,uint256)](contracts/strategies/balancer/BaseBalancerStrategy.sol#L400-L419) is never used and should be removed\n", "first_markdown_element": "contracts/strategies/balancer/BaseBalancerStrategy.sol#L400-L419", "id": "7172c3b3e3f4d4faa0d43c072a323390d348e93a94411aeffd451a0c8f12155e", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_getBPTExpected", "source_mapping": {"start": 11209, "length": 363, "filename_relative": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_short": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "is_dependency": false, "lines": [266, 267, 268, 269, 270, 271, 272, 273, 274, 275], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseBalancerStrategy", "source_mapping": {"start": 798, "length": 17926, "filename_relative": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_short": "contracts/strategies/balancer/BaseBalancerStrategy.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, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 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], "starting_column": 1, "ending_column": 2}}, "signature": "_getBPTExpected(address,uint256)"}}], "description": "BaseBalancerStrategy._getBPTExpected(address,uint256) (contracts/strategies/balancer/BaseBalancerStrategy.sol#266-275) is never used and should be removed\n", "markdown": "[BaseBalancerStrategy._getBPTExpected(address,uint256)](contracts/strategies/balancer/BaseBalancerStrategy.sol#L266-L275) is never used and should be removed\n", "first_markdown_element": "contracts/strategies/balancer/BaseBalancerStrategy.sol#L266-L275", "id": "414392a8237d7c299280870f69d60c9020effb6da887ce3329b46ad1a4b1a5c8", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_getBalancerPoolTokens", "source_mapping": {"start": 8966, "length": 215, "filename_relative": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_short": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "is_dependency": false, "lines": [222, 223, 224, 225, 226, 227, 228, 229], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseBalancerStrategy", "source_mapping": {"start": 798, "length": 17926, "filename_relative": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_short": "contracts/strategies/balancer/BaseBalancerStrategy.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, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 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], "starting_column": 1, "ending_column": 2}}, "signature": "_getBalancerPoolTokens()"}}], "description": "BaseBalancerStrategy._getBalancerPoolTokens() (contracts/strategies/balancer/BaseBalancerStrategy.sol#222-229) is never used and should be removed\n", "markdown": "[BaseBalancerStrategy._getBalancerPoolTokens()](contracts/strategies/balancer/BaseBalancerStrategy.sol#L222-L229) is never used and should be removed\n", "first_markdown_element": "contracts/strategies/balancer/BaseBalancerStrategy.sol#L222-L229", "id": "43bad484abb5503ba664b26eef9bf25d7ca8e3728ff4fd75e1beb9fc8335010b", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_deposit", "source_mapping": {"start": 2484, "length": 386, "filename_relative": "contracts/strategies/Generalized4626Strategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/Generalized4626Strategy.sol", "filename_short": "contracts/strategies/Generalized4626Strategy.sol", "is_dependency": false, "lines": [75, 76, 77, 78, 79, 80, 81, 82], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Generalized4626Strategy", "source_mapping": {"start": 454, "length": 6746, "filename_relative": "contracts/strategies/Generalized4626Strategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/Generalized4626Strategy.sol", "filename_short": "contracts/strategies/Generalized4626Strategy.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, 209, 210, 211], "starting_column": 1, "ending_column": 2}}, "signature": "_deposit(address,uint256)"}}], "description": "Generalized4626Strategy._deposit(address,uint256) (contracts/strategies/Generalized4626Strategy.sol#75-82) is never used and should be removed\n", "markdown": "[Generalized4626Strategy._deposit(address,uint256)](contracts/strategies/Generalized4626Strategy.sol#L75-L82) is never used and should be removed\n", "first_markdown_element": "contracts/strategies/Generalized4626Strategy.sol#L75-L82", "id": "36721a3f5c9b22c9bd57a3041f3b07fcc21c57f456cc144dfe21fbfc82b777dd", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_initialize", "source_mapping": {"start": 321, "length": 98, "filename_relative": "contracts/governance/InitializableGovernable.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/InitializableGovernable.sol", "filename_short": "contracts/governance/InitializableGovernable.sol", "is_dependency": false, "lines": [13, 14, 15], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "InitializableGovernable", "source_mapping": {"start": 253, "length": 168, "filename_relative": "contracts/governance/InitializableGovernable.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/InitializableGovernable.sol", "filename_short": "contracts/governance/InitializableGovernable.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16], "starting_column": 1, "ending_column": 2}}, "signature": "_initialize(address)"}}], "description": "InitializableGovernable._initialize(address) (contracts/governance/InitializableGovernable.sol#13-15) is never used and should be removed\n", "markdown": "[InitializableGovernable._initialize(address)](contracts/governance/InitializableGovernable.sol#L13-L15) is never used and should be removed\n", "first_markdown_element": "contracts/governance/InitializableGovernable.sol#L13-L15", "id": "3f2ac1fe30d5e500e79d00d7cdcee650008e5473ee804bcc3ba92d1969ece075", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_require", "source_mapping": {"start": 1162, "length": 138, "filename_relative": "contracts/utils/BalancerErrors.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/utils/BalancerErrors.sol", "filename_short": "contracts/utils/BalancerErrors.sol", "is_dependency": false, "lines": [32, 33, 34, 35, 36, 37, 38], "starting_column": 1, "ending_column": 2}, "type_specific_fields": {"parent": null, "signature": "_require(bool,uint256,bytes3)"}}], "description": "_require(bool,uint256,bytes3) (contracts/utils/BalancerErrors.sol#32-38) is never used and should be removed\n", "markdown": "[_require(bool,uint256,bytes3)](contracts/utils/BalancerErrors.sol#L32-L38) is never used and should be removed\n", "first_markdown_element": "contracts/utils/BalancerErrors.sol#L32-L38", "id": "34a9a1f0d261723592d808bbe846d790121d01f33f11a357647ffba1718d4da8", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/buyback/Buyback.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/buyback/Buyback.sol#L2) allows old versions\n", "first_markdown_element": "contracts/buyback/Buyback.sol#L2", "id": "82f7aa39285a2aa0a0aeb4cba71ff4484e8d7d769c5cfd578256f37620cd4b1c", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/compensation/CompensationClaims.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/compensation/CompensationClaims.sol#L2) allows old versions\n", "first_markdown_element": "contracts/compensation/CompensationClaims.sol#L2", "id": "c02ba4c4226a7a9670dc4b7bab2bebca3a519f6c5a51add1ba22600ea05e24f7", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/flipper/Flipper.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/flipper/Flipper.sol", "filename_short": "contracts/flipper/Flipper.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/flipper/Flipper.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/flipper/Flipper.sol#L2) allows old versions\n", "first_markdown_element": "contracts/flipper/Flipper.sol#L2", "id": "281c63a535d0389950d5b075401c81b9c18da3629810d6f94c96e0e9348d77cf", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/governance/Governable.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/Governable.sol", "filename_short": "contracts/governance/Governable.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/governance/Governable.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/governance/Governable.sol#L2) allows old versions\n", "first_markdown_element": "contracts/governance/Governable.sol#L2", "id": "a9f16bb10340d2d12d80ed061384a2ffef346969793204e4fbedca1c24145ed8", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/governance/Governor.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/Governor.sol", "filename_short": "contracts/governance/Governor.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/governance/Governor.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/governance/Governor.sol#L2) allows old versions\n", "first_markdown_element": "contracts/governance/Governor.sol#L2", "id": "cacf63d5a01c6cc2a8853d12121bf90c8f7bc7c278244272b10503aeb7f0d558", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/governance/InitializableGovernable.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/InitializableGovernable.sol", "filename_short": "contracts/governance/InitializableGovernable.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/governance/InitializableGovernable.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/governance/InitializableGovernable.sol#L2) allows old versions\n", "first_markdown_element": "contracts/governance/InitializableGovernable.sol#L2", "id": "79d0ce734dc0dff71f45eec4127b00b9a96f302b448bccb8e53eac5491a7dea4", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/governance/Strategizable.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/Strategizable.sol", "filename_short": "contracts/governance/Strategizable.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/governance/Strategizable.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/governance/Strategizable.sol#L2) allows old versions\n", "first_markdown_element": "contracts/governance/Strategizable.sol#L2", "id": "6704e69d816d659695f9dff4ba63d12478df83cf402a95906fe4d0a8e3030a3f", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/harvest/BaseHarvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/BaseHarvester.sol", "filename_short": "contracts/harvest/BaseHarvester.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/harvest/BaseHarvester.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/harvest/BaseHarvester.sol#L2) allows old versions\n", "first_markdown_element": "contracts/harvest/BaseHarvester.sol#L2", "id": "a5124e066b2fbb7dd1e955b4fcd2beacad6be21123061eceed403b4726a7cd41", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/harvest/Dripper.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/Dripper.sol", "filename_short": "contracts/harvest/Dripper.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/harvest/Dripper.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/harvest/Dripper.sol#L2) allows old versions\n", "first_markdown_element": "contracts/harvest/Dripper.sol#L2", "id": "1140b3378dbcf85f848dd3593f6db455b81de599993575647a78a8e9e16d7e86", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/harvest/Harvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/Harvester.sol", "filename_short": "contracts/harvest/Harvester.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/harvest/Harvester.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/harvest/Harvester.sol#L2) allows old versions\n", "first_markdown_element": "contracts/harvest/Harvester.sol#L2", "id": "9da9505bab8b0fd00e20e6db4a6fead1534b69d28987dc31631a69876e522cbc", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/harvest/OETHDripper.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/OETHDripper.sol", "filename_short": "contracts/harvest/OETHDripper.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/harvest/OETHDripper.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/harvest/OETHDripper.sol#L2) allows old versions\n", "first_markdown_element": "contracts/harvest/OETHDripper.sol#L2", "id": "9868f31eabf1e720593a50a20e5bb824dd11b311d005285c616a0002edba9f6e", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/harvest/OETHHarvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/OETHHarvester.sol", "filename_short": "contracts/harvest/OETHHarvester.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/harvest/OETHHarvester.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/harvest/OETHHarvester.sol#L2) allows old versions\n", "first_markdown_element": "contracts/harvest/OETHHarvester.sol#L2", "id": "3a3adb7c5e90ad98fb80214a4f7844cffc76e3b15d6c0af1a826625357bb071a", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/interfaces/IBasicToken.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/IBasicToken.sol", "filename_short": "contracts/interfaces/IBasicToken.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/IBasicToken.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/IBasicToken.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/IBasicToken.sol#L2", "id": "94bff6382b90ad3924c0066cfd097d81ac291208d0369684cb54afe8658dabba", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/interfaces/IBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/IBuyback.sol", "filename_short": "contracts/interfaces/IBuyback.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/IBuyback.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/IBuyback.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/IBuyback.sol#L2", "id": "185bc9860851ec47e3d7ad04b7f00dca9776de2b9dd4d9fe036240034b795bfd", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/interfaces/IComptroller.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/IComptroller.sol", "filename_short": "contracts/interfaces/IComptroller.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/IComptroller.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/IComptroller.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/IComptroller.sol#L2", "id": "a0c1bfd5ca31ee3e23316e502e3ef04bf450325444d5445aff16c409cb4fc156", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/interfaces/IEthUsdOracle.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/IEthUsdOracle.sol", "filename_short": "contracts/interfaces/IEthUsdOracle.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/IEthUsdOracle.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/IEthUsdOracle.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/IEthUsdOracle.sol#L2", "id": "272e660a7ba45f6a97e0c83762294ab6e2cf4d00cbceda6120b5d8672a34489e", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/interfaces/IFraxETHMinter.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/IFraxETHMinter.sol", "filename_short": "contracts/interfaces/IFraxETHMinter.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/IFraxETHMinter.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/IFraxETHMinter.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/IFraxETHMinter.sol#L2", "id": "9a001f820d4bcc8f8cc237c99569448b23551b10274194dc40cdf0fb6dc674ff", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 0, "length": 23, "filename_relative": "contracts/interfaces/IGetExchangeRateToken.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/IGetExchangeRateToken.sol", "filename_short": "contracts/interfaces/IGetExchangeRateToken.sol", "is_dependency": false, "lines": [1], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/IGetExchangeRateToken.sol#1) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/IGetExchangeRateToken.sol#L1) allows old versions\n", "first_markdown_element": "contracts/interfaces/IGetExchangeRateToken.sol#L1", "id": "d40ef5adf85becbae2a11790f9e20e51d1a263c96199ebf02bb2f573909a129e", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/interfaces/IHarvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/IHarvester.sol", "filename_short": "contracts/interfaces/IHarvester.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/IHarvester.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/IHarvester.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/IHarvester.sol#L2", "id": "03c1e790b44ea5d7724d4ef7f0f2a546854105ff2368688bcefa16d3acacfddf", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/interfaces/IMinMaxOracle.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/IMinMaxOracle.sol", "filename_short": "contracts/interfaces/IMinMaxOracle.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/IMinMaxOracle.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/IMinMaxOracle.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/IMinMaxOracle.sol#L2", "id": "c2690b6bd4695286c86c5a3bd76986a663dca50c509ccf6ee859eccca2c7dc4d", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 0, "length": 23, "filename_relative": "contracts/interfaces/IOUSD.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/IOUSD.sol", "filename_short": "contracts/interfaces/IOUSD.sol", "is_dependency": false, "lines": [1], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/IOUSD.sol#1) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/IOUSD.sol#L1) allows old versions\n", "first_markdown_element": "contracts/interfaces/IOUSD.sol#L1", "id": "3853d01e8691288aa7cdbaa59886ee68e2413ccd489d898d83b2e49b4a1ddc23", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/interfaces/IOneInch.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/IOneInch.sol", "filename_short": "contracts/interfaces/IOneInch.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/IOneInch.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/IOneInch.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/IOneInch.sol#L2", "id": "e352c191d5ada9b352c135cde4fc6e19e45f1570610a939fe8633c71effdd36c", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/interfaces/IOracle.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/IOracle.sol", "filename_short": "contracts/interfaces/IOracle.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/IOracle.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/IOracle.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/IOracle.sol#L2", "id": "a4d7c9eafef08e42e6544dd4019cf9efe7f51c00050c35eb8c7cc462a5834952", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/interfaces/IPriceOracle.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/IPriceOracle.sol", "filename_short": "contracts/interfaces/IPriceOracle.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/IPriceOracle.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/IPriceOracle.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/IPriceOracle.sol#L2", "id": "ee7fa68441e218913764ed19aac4e5f2cf7278f785e7b33a65296ad6480202c1", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/interfaces/IRETH.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/IRETH.sol", "filename_short": "contracts/interfaces/IRETH.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/IRETH.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/IRETH.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/IRETH.sol#L2", "id": "5b1c6810abf706d2048174e3575be705a290708609ae849578f62744b17fd4f8", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/interfaces/ISfrxETH.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/ISfrxETH.sol", "filename_short": "contracts/interfaces/ISfrxETH.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/ISfrxETH.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/ISfrxETH.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/ISfrxETH.sol#L2", "id": "13e6b32cc8e9a01dc045d8cb5e1aee7fa29068785bd03dfbb1d63b0587431ec1", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/interfaces/IStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/IStrategy.sol", "filename_short": "contracts/interfaces/IStrategy.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/IStrategy.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/IStrategy.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/IStrategy.sol#L2", "id": "525cec582bcb9c733e3300d58ff77ebd629cf4d89a52fa0fe61d13f65c353a26", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 0, "length": 23, "filename_relative": "contracts/interfaces/ISwapper.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/ISwapper.sol", "filename_short": "contracts/interfaces/ISwapper.sol", "is_dependency": false, "lines": [1], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/ISwapper.sol#1) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/ISwapper.sol#L1) allows old versions\n", "first_markdown_element": "contracts/interfaces/ISwapper.sol#L1", "id": "0fec87f800d6723dd3d7de1770cc3be977e891e5b5fc4addf73063ff67c89925", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 0, "length": 23, "filename_relative": "contracts/interfaces/ITimelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/ITimelock.sol", "filename_short": "contracts/interfaces/ITimelock.sol", "is_dependency": false, "lines": [1], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/ITimelock.sol#1) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/ITimelock.sol#L1) allows old versions\n", "first_markdown_element": "contracts/interfaces/ITimelock.sol#L1", "id": "4475b124b600f3a464049046512f274d7d487f5569d04b0d0c8896a5148bc47f", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/interfaces/IVault.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/IVault.sol", "filename_short": "contracts/interfaces/IVault.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/IVault.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/IVault.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/IVault.sol#L2", "id": "17d8cdfc74b00a04ec29c0f955fcb435e6cea0762362480e26698d7dade395b8", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/interfaces/IWETH9.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/IWETH9.sol", "filename_short": "contracts/interfaces/IWETH9.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/IWETH9.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/IWETH9.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/IWETH9.sol#L2", "id": "fe92400d6c1a3a9d73cdad69563291319f87d651a109ea6ae2beabb7ce0257df", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/interfaces/IWstETH.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/IWstETH.sol", "filename_short": "contracts/interfaces/IWstETH.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/IWstETH.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/IWstETH.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/IWstETH.sol#L2", "id": "c5904f6311ae3dc0bc00d39c836d70c764336a6ee29b70c304c77c88bc0a33c2", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/interfaces/Tether.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/Tether.sol", "filename_short": "contracts/interfaces/Tether.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/Tether.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/Tether.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/Tether.sol#L2", "id": "a844a7c861e5d4669cae48ad216d93b53f055ecb38cb7e03df7bbebe4807598f", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/interfaces/UniswapV3Router.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/UniswapV3Router.sol", "filename_short": "contracts/interfaces/UniswapV3Router.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/UniswapV3Router.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/UniswapV3Router.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/UniswapV3Router.sol#L2", "id": "d998828992bf95d52edab99b51a8815ddfe7f3162d2f9d1803480d10c4d7ec75", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/interfaces/balancer/IBalancerVault.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/balancer/IBalancerVault.sol", "filename_short": "contracts/interfaces/balancer/IBalancerVault.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/balancer/IBalancerVault.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/balancer/IBalancerVault.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/balancer/IBalancerVault.sol#L2", "id": "cdc4df825083a60dad418af5da34b0a1ec66633977db1a83c207f24c4bd63695", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/interfaces/balancer/IMetaStablePool.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/balancer/IMetaStablePool.sol", "filename_short": "contracts/interfaces/balancer/IMetaStablePool.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/balancer/IMetaStablePool.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/balancer/IMetaStablePool.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/balancer/IMetaStablePool.sol#L2", "id": "21c15fd4f5fde0afd4976aeba6c1deac5c4fbd35dc65d80072398480ac362567", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 688, "length": 23, "filename_relative": "contracts/interfaces/balancer/IRateProvider.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/balancer/IRateProvider.sol", "filename_short": "contracts/interfaces/balancer/IRateProvider.sol", "is_dependency": false, "lines": [15], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/balancer/IRateProvider.sol#15) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/balancer/IRateProvider.sol#L15) allows old versions\n", "first_markdown_element": "contracts/interfaces/balancer/IRateProvider.sol#L15", "id": "a0200a0094ccd65b05e62909b5fb57759e74fd67119ad883a12d88b5d212a337", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/interfaces/chainlink/AggregatorV3Interface.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/chainlink/AggregatorV3Interface.sol", "filename_short": "contracts/interfaces/chainlink/AggregatorV3Interface.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/chainlink/AggregatorV3Interface.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/chainlink/AggregatorV3Interface.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/chainlink/AggregatorV3Interface.sol#L2", "id": "bc2ed3a6e692a07531fedf75dcd82f2e3779a5b53516d2e1624c85b32b4e820a", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 39, "length": 23, "filename_relative": "contracts/interfaces/morpho/ILens.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/morpho/ILens.sol", "filename_short": "contracts/interfaces/morpho/ILens.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/morpho/ILens.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/morpho/ILens.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/morpho/ILens.sol#L2", "id": "788b8c236da191737cf5aa9e818a9211e81393c2f3d1e9ff13f3f1212474ce4c", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 39, "length": 23, "filename_relative": "contracts/interfaces/morpho/IMorpho.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/morpho/IMorpho.sol", "filename_short": "contracts/interfaces/morpho/IMorpho.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/morpho/IMorpho.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/morpho/IMorpho.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/morpho/IMorpho.sol#L2", "id": "45909fd8b83fa9fe6a683644183358818f916d3da4ca7fe7118156a2eea13da1", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 39, "length": 23, "filename_relative": "contracts/interfaces/morpho/Types.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/morpho/Types.sol", "filename_short": "contracts/interfaces/morpho/Types.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/morpho/Types.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/morpho/Types.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/morpho/Types.sol#L2", "id": "87f2050fdffd7c5fcf5d0654ad19df383bf596df78181862f3ce6f9b683fc560", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 39, "length": 23, "filename_relative": "contracts/interfaces/morpho/compound/ICompoundOracle.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/morpho/compound/ICompoundOracle.sol", "filename_short": "contracts/interfaces/morpho/compound/ICompoundOracle.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/morpho/compound/ICompoundOracle.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/morpho/compound/ICompoundOracle.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/morpho/compound/ICompoundOracle.sol#L2", "id": "76d014d0be4fa6cf1f9a4b64ad201ec259fbf01a6eefb98db5f61fb514c224c5", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/interfaces/uniswap/IUniswapV2Pair.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/uniswap/IUniswapV2Pair.sol", "filename_short": "contracts/interfaces/uniswap/IUniswapV2Pair.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/uniswap/IUniswapV2Pair.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/uniswap/IUniswapV2Pair.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/uniswap/IUniswapV2Pair.sol#L2", "id": "b1c5a3bbf566b0e621c50e7ba4220664bd1e54da43fad71dbc938a5eded7f2c2", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/interfaces/uniswap/IUniswapV2Router02.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/uniswap/IUniswapV2Router02.sol", "filename_short": "contracts/interfaces/uniswap/IUniswapV2Router02.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/uniswap/IUniswapV2Router02.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/uniswap/IUniswapV2Router02.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/uniswap/IUniswapV2Router02.sol#L2", "id": "ad47007ddc5c67344d81dc344b49bf500ecc26e3135bd77a62fde43bd7c7b7dd", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/liquidity/LiquidityReward.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/liquidity/LiquidityReward.sol", "filename_short": "contracts/liquidity/LiquidityReward.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/liquidity/LiquidityReward.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/liquidity/LiquidityReward.sol#L2) allows old versions\n", "first_markdown_element": "contracts/liquidity/LiquidityReward.sol#L2", "id": "af43855351ffe0839a4022c9ace8a3c16d22dc86d07d1d2757ecf6f7dbee0bd7", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/oracle/OracleRouter.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/oracle/OracleRouter.sol", "filename_short": "contracts/oracle/OracleRouter.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/oracle/OracleRouter.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/oracle/OracleRouter.sol#L2) allows old versions\n", "first_markdown_element": "contracts/oracle/OracleRouter.sol#L2", "id": "51334591a78dd22a137807b4acc53389925f973033124c5930c642a302ba29b0", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#L2) allows old versions\n", "first_markdown_element": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#L2", "id": "4c766eb1c2e89d40beed9275537ff433a6045d434cdfc1b437e6fc4acc2856b9", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/proxies/Proxies.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/Proxies.sol", "filename_short": "contracts/proxies/Proxies.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/proxies/Proxies.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/proxies/Proxies.sol#L2) allows old versions\n", "first_markdown_element": "contracts/proxies/Proxies.sol#L2", "id": "54449952b8d4d7f912b7edd63a4d5f250415aca230353b6f0c2436fd08bab7c4", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/staking/SingleAssetStaking.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/staking/SingleAssetStaking.sol#L2) allows old versions\n", "first_markdown_element": "contracts/staking/SingleAssetStaking.sol#L2", "id": "0d9b9be73b171a1f5847e5df0adf23a9896dd80d43e0f466a74a13d345d8a91e", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/AaveStrategy.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/AaveStrategy.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/AaveStrategy.sol#L2", "id": "4b6bd9fd37caf2805f5c155743471e5190c0d3c67a058c887282f845b01fbd3c", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/BaseCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/BaseCompoundStrategy.sol", "filename_short": "contracts/strategies/BaseCompoundStrategy.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/BaseCompoundStrategy.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/BaseCompoundStrategy.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/BaseCompoundStrategy.sol#L2", "id": "ffb011aa0e9b47c467913e4c84522cce51b070125b4d896dd3573a9a7ef2d180", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/BaseConvexMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/BaseConvexMetaStrategy.sol", "filename_short": "contracts/strategies/BaseConvexMetaStrategy.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/BaseConvexMetaStrategy.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/BaseConvexMetaStrategy.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/BaseConvexMetaStrategy.sol#L2", "id": "83428776089a6ca8806eb19a4738ab918e43169a57b4e961f748db3bd1950a43", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/BaseCurveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/BaseCurveStrategy.sol", "filename_short": "contracts/strategies/BaseCurveStrategy.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/BaseCurveStrategy.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/BaseCurveStrategy.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/BaseCurveStrategy.sol#L2", "id": "d2a54684ab02a9305bab0d6c3424e84d8370c96874128ca7e5a41660bc8f06fc", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/CompoundStrategy.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/CompoundStrategy.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/CompoundStrategy.sol#L2", "id": "92a7098362a42f7f87c42e9d955c08eb71aa98a0d92611ed508d73c3118fa022", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/ConvexEthMetaStrategy.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/ConvexEthMetaStrategy.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/ConvexEthMetaStrategy.sol#L2", "id": "7edb20db5c0200c2bd05a4366895fdf37f10cd1d2bb0d695908c07e9c837b848", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/ConvexGeneralizedMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexGeneralizedMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexGeneralizedMetaStrategy.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/ConvexGeneralizedMetaStrategy.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/ConvexGeneralizedMetaStrategy.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/ConvexGeneralizedMetaStrategy.sol#L2", "id": "5fa480122d27055b8ec676e247738324933e9773ab3abda6f51098e1daeeec04", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/ConvexOUSDMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexOUSDMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexOUSDMetaStrategy.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/ConvexOUSDMetaStrategy.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/ConvexOUSDMetaStrategy.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/ConvexOUSDMetaStrategy.sol#L2", "id": "ac6a57a349bf50561c41daec54512d189e8ce8f2e71080e3bc8ffe87dd163260", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/ConvexStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexStrategy.sol", "filename_short": "contracts/strategies/ConvexStrategy.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/ConvexStrategy.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/ConvexStrategy.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/ConvexStrategy.sol#L2", "id": "897cc29611993f610e5dc9875acb6ad1998d16d5db80ef87cb24be58fe75fed6", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/FluxStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/FluxStrategy.sol", "filename_short": "contracts/strategies/FluxStrategy.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/FluxStrategy.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/FluxStrategy.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/FluxStrategy.sol#L2", "id": "393fbd06405ca3131afb6417a96cbe43833001f958740775dec3a1592922d214", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/FraxETHStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/FraxETHStrategy.sol", "filename_short": "contracts/strategies/FraxETHStrategy.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/FraxETHStrategy.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/FraxETHStrategy.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/FraxETHStrategy.sol#L2", "id": "8ef2be5e3d56be6f3c3457596407a8fe5c07c5950a462c145e1ebed8a11c9994", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/Generalized4626Strategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/Generalized4626Strategy.sol", "filename_short": "contracts/strategies/Generalized4626Strategy.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/Generalized4626Strategy.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/Generalized4626Strategy.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/Generalized4626Strategy.sol#L2", "id": "2a08a0f02b99768b50a70e61fa311b9a27abdbe4d3123dac80ce0a92a573621e", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/IAave.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/IAave.sol", "filename_short": "contracts/strategies/IAave.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/IAave.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/IAave.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/IAave.sol#L2", "id": "03d09f76f6327ec3e00462e72f330bc5b7b74c4c76dd86178740bae9b58213df", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/IAaveIncentivesController.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/IAaveIncentivesController.sol", "filename_short": "contracts/strategies/IAaveIncentivesController.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/IAaveIncentivesController.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/IAaveIncentivesController.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/IAaveIncentivesController.sol#L2", "id": "021193b4603c0ed5ac062858b53e3888ceb0c79df1cc0b782fafd97a6197c153", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/IAaveStakeToken.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/IAaveStakeToken.sol", "filename_short": "contracts/strategies/IAaveStakeToken.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/IAaveStakeToken.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/IAaveStakeToken.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/IAaveStakeToken.sol#L2", "id": "51aed3d5dcdcf77b6106f36ac622c82acef7e0d7ff7892b311e1adc4bbb0edc7", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/ICRVMinter.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ICRVMinter.sol", "filename_short": "contracts/strategies/ICRVMinter.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/ICRVMinter.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/ICRVMinter.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/ICRVMinter.sol#L2", "id": "c1e0e830ba7445a95b4c566d6ec67217c2d6b9749ead120e45b1ebf8015c8bc4", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/ICompound.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ICompound.sol", "filename_short": "contracts/strategies/ICompound.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/ICompound.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/ICompound.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/ICompound.sol#L2", "id": "ddba7df5322db75d195376ffb9e85ab8e56d1c7c52815188d440127a56fd9745", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/IConvexDeposits.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/IConvexDeposits.sol", "filename_short": "contracts/strategies/IConvexDeposits.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/IConvexDeposits.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/IConvexDeposits.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/IConvexDeposits.sol#L2", "id": "bd18c560914c2915ea918e64268f9d1d198f7ccf10dd56022daaac37648414e1", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/ICurveETHPoolV1.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ICurveETHPoolV1.sol", "filename_short": "contracts/strategies/ICurveETHPoolV1.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/ICurveETHPoolV1.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/ICurveETHPoolV1.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/ICurveETHPoolV1.sol#L2", "id": "87f73a3e8426ca53be7f43f25aef20229cd70ff8b3959b7f179297693c5de12f", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/ICurveGauge.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ICurveGauge.sol", "filename_short": "contracts/strategies/ICurveGauge.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/ICurveGauge.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/ICurveGauge.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/ICurveGauge.sol#L2", "id": "238b46b151a29be97e64f11d9fe1618d42b47fe81401a8cdcc641adba9ebc20e", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.4", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/ICurveMetaPool.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ICurveMetaPool.sol", "filename_short": "contracts/strategies/ICurveMetaPool.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".4"]}}], "description": "Pragma version^0.8.4 (contracts/strategies/ICurveMetaPool.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.4](contracts/strategies/ICurveMetaPool.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/ICurveMetaPool.sol#L2", "id": "7c55a7fd5852f4820ced907ab1a5d0cd97dfe970237e22a8ce7d08c37f23bd74", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/ICurvePool.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ICurvePool.sol", "filename_short": "contracts/strategies/ICurvePool.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/ICurvePool.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/ICurvePool.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/ICurvePool.sol#L2", "id": "f757494eaef356ad0c81503b9251f6301b88a90c82132045d49aaad9905f3f93", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/IRewardStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/IRewardStaking.sol", "filename_short": "contracts/strategies/IRewardStaking.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/IRewardStaking.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/IRewardStaking.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/IRewardStaking.sol#L2", "id": "9f4345a2ad09e15353a5110b5f623427acaef0955ffa86e0566554f27c6888fe", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/MorphoAaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoAaveStrategy.sol", "filename_short": "contracts/strategies/MorphoAaveStrategy.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/MorphoAaveStrategy.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/MorphoAaveStrategy.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/MorphoAaveStrategy.sol#L2", "id": "093a7824790924e30487939ec460262253829141fddcf00da32cf96c270de1e1", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/MorphoCompoundStrategy.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/MorphoCompoundStrategy.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/MorphoCompoundStrategy.sol#L2", "id": "8db8fc20ef33347d2f01428f1313b44970fa01ceb2a5b5077ee12535f3cc74cd", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/ThreePoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ThreePoolStrategy.sol", "filename_short": "contracts/strategies/ThreePoolStrategy.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/ThreePoolStrategy.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/ThreePoolStrategy.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/ThreePoolStrategy.sol#L2", "id": "2c01ceb3c023f424da1ce7aad8d10035e4e03ef67f4043df9a0756dee97d0ae5", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/VaultValueChecker.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/VaultValueChecker.sol", "filename_short": "contracts/strategies/VaultValueChecker.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/VaultValueChecker.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/VaultValueChecker.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/VaultValueChecker.sol#L2", "id": "f0e49630796934edda0580f937847757b9f78dfd24164ef52ff32d0624f92cbf", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L2", "id": "96a4f714939f6ce445a212a2c1e8cf2337907993803525b501c6e4c568b2290a", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/balancer/BaseAuraStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BaseAuraStrategy.sol", "filename_short": "contracts/strategies/balancer/BaseAuraStrategy.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/balancer/BaseAuraStrategy.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/balancer/BaseAuraStrategy.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/balancer/BaseAuraStrategy.sol#L2", "id": "f74abab019eaf77a854245706492d983f7f3b8c74afb17987914e021ce4e7857", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_short": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/balancer/BaseBalancerStrategy.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/balancer/BaseBalancerStrategy.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/balancer/BaseBalancerStrategy.sol#L2", "id": "35dd7da8ef2b42cd69590a715e37e95b1d6264518801e2b112e605aaaf0e0dc1", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": ">=0.7.0<0.9.0", "source_mapping": {"start": 688, "length": 31, "filename_relative": "contracts/strategies/balancer/VaultReentrancyLib.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/VaultReentrancyLib.sol", "filename_short": "contracts/strategies/balancer/VaultReentrancyLib.sol", "is_dependency": false, "lines": [15], "starting_column": 1, "ending_column": 32}, "type_specific_fields": {"directive": ["solidity", ">=", "0.7", ".0", "<", "0.9", ".0"]}}], "description": "Pragma version>=0.7.0<0.9.0 (contracts/strategies/balancer/VaultReentrancyLib.sol#15) is too complex\n", "markdown": "Pragma version[>=0.7.0<0.9.0](contracts/strategies/balancer/VaultReentrancyLib.sol#L15) is too complex\n", "first_markdown_element": "contracts/strategies/balancer/VaultReentrancyLib.sol#L15", "id": "6580f38da1aa240fb5b3862439e748ea499bd72ee055940f18478a7c52715b0e", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/swapper/Swapper1InchV5.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/swapper/Swapper1InchV5.sol", "filename_short": "contracts/swapper/Swapper1InchV5.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/swapper/Swapper1InchV5.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/swapper/Swapper1InchV5.sol#L2) allows old versions\n", "first_markdown_element": "contracts/swapper/Swapper1InchV5.sol#L2", "id": "a4c33b5af6d7e7fe16f2ced5aa2b62c83a02c59f7473bf8ed321f7a47673c1ff", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/timelock/Timelock.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/timelock/Timelock.sol#L2) allows old versions\n", "first_markdown_element": "contracts/timelock/Timelock.sol#L2", "id": "d28fc27cadb50f2a9adcbf2679eefb86dc31b472d1f1f52197fd3b627cfe9009", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/token/OETH.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/token/OETH.sol", "filename_short": "contracts/token/OETH.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/token/OETH.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/token/OETH.sol#L2) allows old versions\n", "first_markdown_element": "contracts/token/OETH.sol#L2", "id": "0c536785d47453c3e04de56ec0b68c6a1615dccdc19a62e2c85682e2a8f7c7d5", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/token/OUSD.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/token/OUSD.sol#L2) allows old versions\n", "first_markdown_element": "contracts/token/OUSD.sol#L2", "id": "4c28a6c60c940b0c929b0752f10fc43d2c0da77f4294e3d9a3a7284d9d82299a", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/token/WOETH.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/token/WOETH.sol", "filename_short": "contracts/token/WOETH.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/token/WOETH.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/token/WOETH.sol#L2) allows old versions\n", "first_markdown_element": "contracts/token/WOETH.sol#L2", "id": "17861c958de8b62ca693a620b8acfdfa2d1bd58c2f5784a862e1b7547303e94d", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/token/WrappedOusd.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/token/WrappedOusd.sol", "filename_short": "contracts/token/WrappedOusd.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/token/WrappedOusd.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/token/WrappedOusd.sol#L2) allows old versions\n", "first_markdown_element": "contracts/token/WrappedOusd.sol#L2", "id": "3e4418ef1bc9e338a5aeb1cfa883886f37ab4e0da2435bd3b234ba49d317e730", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": ">=0.7.4<0.9.0", "source_mapping": {"start": 688, "length": 31, "filename_relative": "contracts/utils/BalancerErrors.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/utils/BalancerErrors.sol", "filename_short": "contracts/utils/BalancerErrors.sol", "is_dependency": false, "lines": [15], "starting_column": 1, "ending_column": 32}, "type_specific_fields": {"directive": ["solidity", ">=", "0.7", ".4", "<", "0.9", ".0"]}}], "description": "Pragma version>=0.7.4<0.9.0 (contracts/utils/BalancerErrors.sol#15) is too complex\n", "markdown": "Pragma version[>=0.7.4<0.9.0](contracts/utils/BalancerErrors.sol#L15) is too complex\n", "first_markdown_element": "contracts/utils/BalancerErrors.sol#L15", "id": "70df7857ac9891aa8cf53e027c04023696b0ad1f76d554b9977078967ae979a3", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/utils/Helpers.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/utils/Helpers.sol", "filename_short": "contracts/utils/Helpers.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/utils/Helpers.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/utils/Helpers.sol#L2) allows old versions\n", "first_markdown_element": "contracts/utils/Helpers.sol#L2", "id": "86623102155b1f075f6ea2dd0ddac7ed6b2d3b622cb613deefb6c97e2a0be030", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/utils/Initializable.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/utils/Initializable.sol", "filename_short": "contracts/utils/Initializable.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/utils/Initializable.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/utils/Initializable.sol#L2) allows old versions\n", "first_markdown_element": "contracts/utils/Initializable.sol#L2", "id": "1b5144dca22360d396579ab156ffa691cbf0ed4e22bf3c00ee10fabf9703e062", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/utils/InitializableAbstractStrategy.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/utils/InitializableAbstractStrategy.sol#L2) allows old versions\n", "first_markdown_element": "contracts/utils/InitializableAbstractStrategy.sol#L2", "id": "e4ba9f8308fcf868334ea35ea0011b4dc5065ea98e8e2f866b6663636a34133c", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/utils/InitializableERC20Detailed.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/utils/InitializableERC20Detailed.sol", "filename_short": "contracts/utils/InitializableERC20Detailed.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/utils/InitializableERC20Detailed.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/utils/InitializableERC20Detailed.sol#L2) allows old versions\n", "first_markdown_element": "contracts/utils/InitializableERC20Detailed.sol#L2", "id": "cc3087c4f9d79aeb7b09b5af0de7a2c21f568639180749dfae8282cc230769ac", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/vault/OETHVault.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHVault.sol", "filename_short": "contracts/vault/OETHVault.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/vault/OETHVault.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/vault/OETHVault.sol#L2) allows old versions\n", "first_markdown_element": "contracts/vault/OETHVault.sol#L2", "id": "604949a689d5c3b2ab20fb9cd6b7310f14ac7bd713bc96e0db26d320a9eb864d", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/vault/OETHVaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHVaultAdmin.sol", "filename_short": "contracts/vault/OETHVaultAdmin.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/vault/OETHVaultAdmin.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/vault/OETHVaultAdmin.sol#L2) allows old versions\n", "first_markdown_element": "contracts/vault/OETHVaultAdmin.sol#L2", "id": "52063d9c11ce856aae9c6be5a5bac5eb2aa90d6adb13982fc7a8eba2ebae9a76", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/vault/OETHVaultCore.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHVaultCore.sol", "filename_short": "contracts/vault/OETHVaultCore.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/vault/OETHVaultCore.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/vault/OETHVaultCore.sol#L2) allows old versions\n", "first_markdown_element": "contracts/vault/OETHVaultCore.sol#L2", "id": "61a2f9dd5eda9e2116a60248dcfec34b77e86aa3f21e921ac302464213dee3b3", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/vault/OETHZapper.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/vault/OETHZapper.sol#L2) allows old versions\n", "first_markdown_element": "contracts/vault/OETHZapper.sol#L2", "id": "147adfb2889187ec2a27af28deae1179c4fbdbdcf42e2d98832947d7a6daa618", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/vault/Vault.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/Vault.sol", "filename_short": "contracts/vault/Vault.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/vault/Vault.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/vault/Vault.sol#L2) allows old versions\n", "first_markdown_element": "contracts/vault/Vault.sol#L2", "id": "9a51591a30b72d5cd9296be4fbbb7b829de2b26331556dd05fb210fce4ce90d8", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/vault/VaultAdmin.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/vault/VaultAdmin.sol#L2) allows old versions\n", "first_markdown_element": "contracts/vault/VaultAdmin.sol#L2", "id": "af09cf9a6cd593314e07a4a02c9fda9d86de52506100b576110e312776e508d3", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/vault/VaultCore.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/vault/VaultCore.sol#L2) allows old versions\n", "first_markdown_element": "contracts/vault/VaultCore.sol#L2", "id": "c6f1fe952b98499175623c21fa73863d0e52ede9adcdb9a0840b62c0ba0f4636", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/vault/VaultStorage.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/vault/VaultStorage.sol#L2) allows old versions\n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L2", "id": "8f3edef86568cc9c580189310994269662f4ded56367af9f91567362f996681f", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": ">=0.4.22<0.9.0", "source_mapping": {"start": 32, "length": 33, "filename_relative": "node_modules/hardhat/console.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/node_modules/hardhat/console.sol", "filename_short": "node_modules/hardhat/console.sol", "is_dependency": true, "lines": [2], "starting_column": 1, "ending_column": 34}, "type_specific_fields": {"directive": ["solidity", ">=", "0.4", ".22", "<", "0.9", ".0"]}}], "description": "Pragma version>=0.4.22<0.9.0 (node_modules/hardhat/console.sol#2) is too complex\n", "markdown": "Pragma version[>=0.4.22<0.9.0](node_modules/hardhat/console.sol#L2) is too complex\n", "first_markdown_element": "node_modules/hardhat/console.sol#L2", "id": "f30cc00866ad4644a058066a785a40fc85920295b639d57c66467131996ae1a5", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [], "description": "solc-0.8.7 is not recommended for deployment\n", "markdown": "solc-0.8.7 is not recommended for deployment\n", "first_markdown_element": "", "id": "7625fc0b76e6d47f90acb00bf7e2271fd51795d3b2a30f085edbbc0db8832c0c", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "initialize", "source_mapping": {"start": 1352, "length": 545, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "InitializeGovernedUpgradeabilityProxy", "source_mapping": {"start": 450, "length": 6294, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [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], "starting_column": 1, "ending_column": 2}}, "signature": "initialize(address,address,bytes)"}}, {"type": "node", "name": "(success) = _logic.delegatecall(_data)", "source_mapping": {"start": 1765, "length": 45, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [46], "starting_column": 13, "ending_column": 58}, "type_specific_fields": {"parent": {"type": "function", "name": "initialize", "source_mapping": {"start": 1352, "length": 545, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "InitializeGovernedUpgradeabilityProxy", "source_mapping": {"start": 450, "length": 6294, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [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], "starting_column": 1, "ending_column": 2}}, "signature": "initialize(address,address,bytes)"}}}}], "description": "Low level call in InitializeGovernedUpgradeabilityProxy.initialize(address,address,bytes) (contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#34-50):\n\t- (success) = _logic.delegatecall(_data) (contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#46)\n", "markdown": "Low level call in [InitializeGovernedUpgradeabilityProxy.initialize(address,address,bytes)](contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#L34-L50):\n\t- [(success) = _logic.delegatecall(_data)](contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#L46)\n", "first_markdown_element": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#L34-L50", "id": "6c5c3cf16cf2b84b5eb1ddd1ec60c27b5513ecedd039521383bf5b583573950a", "check": "low-level-calls", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "upgradeToAndCall", "source_mapping": {"start": 3091, "length": 269, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [84, 85, 86, 87, 88, 89, 90, 91, 92], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "InitializeGovernedUpgradeabilityProxy", "source_mapping": {"start": 450, "length": 6294, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [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], "starting_column": 1, "ending_column": 2}}, "signature": "upgradeToAndCall(address,bytes)"}}, {"type": "node", "name": "(success) = newImplementation.delegatecall(data)", "source_mapping": {"start": 3272, "length": 55, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [90], "starting_column": 9, "ending_column": 64}, "type_specific_fields": {"parent": {"type": "function", "name": "upgradeToAndCall", "source_mapping": {"start": 3091, "length": 269, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [84, 85, 86, 87, 88, 89, 90, 91, 92], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "InitializeGovernedUpgradeabilityProxy", "source_mapping": {"start": 450, "length": 6294, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [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], "starting_column": 1, "ending_column": 2}}, "signature": "upgradeToAndCall(address,bytes)"}}}}], "description": "Low level call in InitializeGovernedUpgradeabilityProxy.upgradeToAndCall(address,bytes) (contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#84-92):\n\t- (success) = newImplementation.delegatecall(data) (contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#90)\n", "markdown": "Low level call in [InitializeGovernedUpgradeabilityProxy.upgradeToAndCall(address,bytes)](contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#L84-L92):\n\t- [(success) = newImplementation.delegatecall(data)](contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#L90)\n", "first_markdown_element": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#L84-L92", "id": "7f2660b6c4c8a8a08bd4c88bece7832ccd9c9463eef8e34dabd5f732b86d6d47", "check": "low-level-calls", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "ensureNotInVaultContext", "source_mapping": {"start": 2014, "length": 2926, "filename_relative": "contracts/strategies/balancer/VaultReentrancyLib.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/VaultReentrancyLib.sol", "filename_short": "contracts/strategies/balancer/VaultReentrancyLib.sol", "is_dependency": false, "lines": [37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultReentrancyLib", "source_mapping": {"start": 842, "length": 4100, "filename_relative": "contracts/strategies/balancer/VaultReentrancyLib.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/VaultReentrancyLib.sol", "filename_short": "contracts/strategies/balancer/VaultReentrancyLib.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], "starting_column": 1, "ending_column": 2}}, "signature": "ensureNotInVaultContext(IBalancerVault)"}}, {"type": "node", "name": "(revertData) = address(vault).staticcall{gas: 10_000}(abi.encodeWithSelector(vault.manageUserBalance.selector,0))", "source_mapping": {"start": 4718, "length": 153, "filename_relative": "contracts/strategies/balancer/VaultReentrancyLib.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/VaultReentrancyLib.sol", "filename_short": "contracts/strategies/balancer/VaultReentrancyLib.sol", "is_dependency": false, "lines": [78, 79, 80], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "ensureNotInVaultContext", "source_mapping": {"start": 2014, "length": 2926, "filename_relative": "contracts/strategies/balancer/VaultReentrancyLib.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/VaultReentrancyLib.sol", "filename_short": "contracts/strategies/balancer/VaultReentrancyLib.sol", "is_dependency": false, "lines": [37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultReentrancyLib", "source_mapping": {"start": 842, "length": 4100, "filename_relative": "contracts/strategies/balancer/VaultReentrancyLib.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/VaultReentrancyLib.sol", "filename_short": "contracts/strategies/balancer/VaultReentrancyLib.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], "starting_column": 1, "ending_column": 2}}, "signature": "ensureNotInVaultContext(IBalancerVault)"}}}}], "description": "Low level call in VaultReentrancyLib.ensureNotInVaultContext(IBalancerVault) (contracts/strategies/balancer/VaultReentrancyLib.sol#37-83):\n\t- (revertData) = address(vault).staticcall{gas: 10_000}(abi.encodeWithSelector(vault.manageUserBalance.selector,0)) (contracts/strategies/balancer/VaultReentrancyLib.sol#78-80)\n", "markdown": "Low level call in [VaultReentrancyLib.ensureNotInVaultContext(IBalancerVault)](contracts/strategies/balancer/VaultReentrancyLib.sol#L37-L83):\n\t- [(revertData) = address(vault).staticcall{gas: 10_000}(abi.encodeWithSelector(vault.manageUserBalance.selector,0))](contracts/strategies/balancer/VaultReentrancyLib.sol#L78-L80)\n", "first_markdown_element": "contracts/strategies/balancer/VaultReentrancyLib.sol#L37-L83", "id": "98316229491915cc66c956087ac79402c560c3f206de5f6cd847957cb34b9835", "check": "low-level-calls", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "executeTransaction", "source_mapping": {"start": 4611, "length": 1434, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Timelock", "source_mapping": {"start": 298, "length": 6391, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242], "starting_column": 1, "ending_column": 2}}, "signature": "executeTransaction(address,string,bytes,uint256)"}}, {"type": "node", "name": "(success,returnData) = target.call(callData)", "source_mapping": {"start": 5793, "length": 63, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [211], "starting_column": 9, "ending_column": 72}, "type_specific_fields": {"parent": {"type": "function", "name": "executeTransaction", "source_mapping": {"start": 4611, "length": 1434, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Timelock", "source_mapping": {"start": 298, "length": 6391, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242], "starting_column": 1, "ending_column": 2}}, "signature": "executeTransaction(address,string,bytes,uint256)"}}}}], "description": "Low level call in Timelock.executeTransaction(address,string,bytes,uint256) (contracts/timelock/Timelock.sol#171-220):\n\t- (success,returnData) = target.call(callData) (contracts/timelock/Timelock.sol#211)\n", "markdown": "Low level call in [Timelock.executeTransaction(address,string,bytes,uint256)](contracts/timelock/Timelock.sol#L171-L220):\n\t- [(success,returnData) = target.call(callData)](contracts/timelock/Timelock.sol#L211)\n", "first_markdown_element": "contracts/timelock/Timelock.sol#L171-L220", "id": "fc264625329d03fc92609ac851cf350acd7395286be85f37aa67182242c97b4c", "check": "low-level-calls", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "contract", "name": "Buyback", "source_mapping": {"start": 471, "length": 6795, "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224], "starting_column": 1, "ending_column": 2}}, {"type": "contract", "name": "IBuyback", "source_mapping": {"start": 57, "length": 52, "filename_relative": "contracts/interfaces/IBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/IBuyback.sol", "filename_short": "contracts/interfaces/IBuyback.sol", "is_dependency": false, "lines": [4, 5, 6], "starting_column": 1, "ending_column": 2}}], "description": "Buyback (contracts/buyback/Buyback.sol#12-224) should inherit from IBuyback (contracts/interfaces/IBuyback.sol#4-6)\n", "markdown": "[Buyback](contracts/buyback/Buyback.sol#L12-L224) should inherit from [IBuyback](contracts/interfaces/IBuyback.sol#L4-L6)\n", "first_markdown_element": "contracts/buyback/Buyback.sol#L12-L224", "id": "888f95b000b702e7d04774c76c9794a92c1e80600b6b7a97ce73c55bcee78fe5", "check": "missing-inheritance", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "contract", "name": "CompensationClaims", "source_mapping": {"start": 1527, "length": 3674, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164], "starting_column": 1, "ending_column": 2}}, {"type": "contract", "name": "IERC20Decimals", "source_mapping": {"start": 5203, "length": 83, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [166, 167, 168], "starting_column": 1, "ending_column": 2}}], "description": "CompensationClaims (contracts/compensation/CompensationClaims.sol#42-164) should inherit from IERC20Decimals (contracts/compensation/CompensationClaims.sol#166-168)\n", "markdown": "[CompensationClaims](contracts/compensation/CompensationClaims.sol#L42-L164) should inherit from [IERC20Decimals](contracts/compensation/CompensationClaims.sol#L166-L168)\n", "first_markdown_element": "contracts/compensation/CompensationClaims.sol#L42-L164", "id": "bb54307d75b10bfbf4bd0c5601ff99f3589c5042d9ed260e9d972572a851db43", "check": "missing-inheritance", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "amountADesired", "source_mapping": {"start": 448, "length": 22, "filename_relative": "contracts/interfaces/uniswap/IUniswapV2Router02.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/uniswap/IUniswapV2Router02.sol", "filename_short": "contracts/interfaces/uniswap/IUniswapV2Router02.sol", "is_dependency": false, "lines": [18], "starting_column": 9, "ending_column": 31}, "type_specific_fields": {"parent": {"type": "function", "name": "addLiquidity", "source_mapping": {"start": 369, "length": 375, "filename_relative": "contracts/interfaces/uniswap/IUniswapV2Router02.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/uniswap/IUniswapV2Router02.sol", "filename_short": "contracts/interfaces/uniswap/IUniswapV2Router02.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30], "starting_column": 5, "ending_column": 11}, "type_specific_fields": {"parent": {"type": "contract", "name": "IUniswapV2Router", "source_mapping": {"start": 57, "length": 689, "filename_relative": "contracts/interfaces/uniswap/IUniswapV2Router02.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/uniswap/IUniswapV2Router02.sol", "filename_short": "contracts/interfaces/uniswap/IUniswapV2Router02.sol", "is_dependency": false, "lines": [4, 5, 6, 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], "starting_column": 1, "ending_column": 2}}, "signature": "addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)"}}}}, {"type": "variable", "name": "amountBDesired", "source_mapping": {"start": 480, "length": 22, "filename_relative": "contracts/interfaces/uniswap/IUniswapV2Router02.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/uniswap/IUniswapV2Router02.sol", "filename_short": "contracts/interfaces/uniswap/IUniswapV2Router02.sol", "is_dependency": false, "lines": [19], "starting_column": 9, "ending_column": 31}, "type_specific_fields": {"parent": {"type": "function", "name": "addLiquidity", "source_mapping": {"start": 369, "length": 375, "filename_relative": "contracts/interfaces/uniswap/IUniswapV2Router02.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/uniswap/IUniswapV2Router02.sol", "filename_short": "contracts/interfaces/uniswap/IUniswapV2Router02.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30], "starting_column": 5, "ending_column": 11}, "type_specific_fields": {"parent": {"type": "contract", "name": "IUniswapV2Router", "source_mapping": {"start": 57, "length": 689, "filename_relative": "contracts/interfaces/uniswap/IUniswapV2Router02.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/uniswap/IUniswapV2Router02.sol", "filename_short": "contracts/interfaces/uniswap/IUniswapV2Router02.sol", "is_dependency": false, "lines": [4, 5, 6, 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], "starting_column": 1, "ending_column": 2}}, "signature": "addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)"}}}}], "description": "Variable IUniswapV2Router.addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256).amountADesired (contracts/interfaces/uniswap/IUniswapV2Router02.sol#18) is too similar to IUniswapV2Router.addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256).amountBDesired (contracts/interfaces/uniswap/IUniswapV2Router02.sol#19)\n", "markdown": "Variable [IUniswapV2Router.addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256).amountADesired](contracts/interfaces/uniswap/IUniswapV2Router02.sol#L18) is too similar to [IUniswapV2Router.addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256).amountBDesired](contracts/interfaces/uniswap/IUniswapV2Router02.sol#L19)\n", "first_markdown_element": "contracts/interfaces/uniswap/IUniswapV2Router02.sol#L18", "id": "ebfb97f25d979455759836fd8e6dfb5873e5f0066fe15708bfbea958a6c97d6c", "check": "similar-names", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "_deprecated_oeth", "source_mapping": {"start": 1691, "length": 32, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.sol", "is_dependency": false, "lines": [40], "starting_column": 5, "ending_column": 37}, "type_specific_fields": {"parent": {"type": "contract", "name": "ConvexEthMetaStrategy", "source_mapping": {"start": 769, "length": 22879, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622], "starting_column": 1, "ending_column": 2}}}}, {"type": "variable", "name": "_deprecated_weth", "source_mapping": {"start": 1779, "length": 32, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.sol", "is_dependency": false, "lines": [42], "starting_column": 5, "ending_column": 37}, "type_specific_fields": {"parent": {"type": "contract", "name": "ConvexEthMetaStrategy", "source_mapping": {"start": 769, "length": 22879, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622], "starting_column": 1, "ending_column": 2}}}}], "description": "Variable ConvexEthMetaStrategy._deprecated_oeth (contracts/strategies/ConvexEthMetaStrategy.sol#40) is too similar to ConvexEthMetaStrategy._deprecated_weth (contracts/strategies/ConvexEthMetaStrategy.sol#42)\n", "markdown": "Variable [ConvexEthMetaStrategy._deprecated_oeth](contracts/strategies/ConvexEthMetaStrategy.sol#L40) is too similar to [ConvexEthMetaStrategy._deprecated_weth](contracts/strategies/ConvexEthMetaStrategy.sol#L42)\n", "first_markdown_element": "contracts/strategies/ConvexEthMetaStrategy.sol#L40", "id": "5b6051eceb5b7aaf0e9cc0f0842f0f90d06cf9f7a22bf02559f4e9e2f3357a34", "check": "similar-names", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "_strategyAmount", "source_mapping": {"start": 6763, "length": 23, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [184], "starting_column": 9, "ending_column": 32}, "type_specific_fields": {"parent": {"type": "function", "name": "withdraw", "source_mapping": {"start": 6676, "length": 441, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BalancerMetaPoolStrategy", "source_mapping": {"start": 708, "length": 21715, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "withdraw(address,address,uint256)"}}}}, {"type": "variable", "name": "strategyAmounts", "source_mapping": {"start": 6904, "length": 51, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [187], "starting_column": 9, "ending_column": 60}, "type_specific_fields": {"parent": {"type": "function", "name": "withdraw", "source_mapping": {"start": 6676, "length": 441, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BalancerMetaPoolStrategy", "source_mapping": {"start": 708, "length": 21715, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "withdraw(address,address,uint256)"}}}}], "description": "Variable BalancerMetaPoolStrategy.withdraw(address,address,uint256)._strategyAmount (contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#184) is too similar to BalancerMetaPoolStrategy.withdraw(address,address,uint256).strategyAmounts (contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#187)\n", "markdown": "Variable [BalancerMetaPoolStrategy.withdraw(address,address,uint256)._strategyAmount](contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L184) is too similar to [BalancerMetaPoolStrategy.withdraw(address,address,uint256).strategyAmounts](contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L187)\n", "first_markdown_element": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L184", "id": "1aed6ded618c44ade473c821a6b9bf134ffc84045f4500d4abe47e6f4fa3b246", "check": "similar-names", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "_strategyAsset", "source_mapping": {"start": 6731, "length": 22, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [183], "starting_column": 9, "ending_column": 31}, "type_specific_fields": {"parent": {"type": "function", "name": "withdraw", "source_mapping": {"start": 6676, "length": 441, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BalancerMetaPoolStrategy", "source_mapping": {"start": 708, "length": 21715, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "withdraw(address,address,uint256)"}}}}, {"type": "variable", "name": "strategyAssets", "source_mapping": {"start": 6844, "length": 50, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [186], "starting_column": 9, "ending_column": 59}, "type_specific_fields": {"parent": {"type": "function", "name": "withdraw", "source_mapping": {"start": 6676, "length": 441, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BalancerMetaPoolStrategy", "source_mapping": {"start": 708, "length": 21715, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "withdraw(address,address,uint256)"}}}}], "description": "Variable BalancerMetaPoolStrategy.withdraw(address,address,uint256)._strategyAsset (contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#183) is too similar to BalancerMetaPoolStrategy.withdraw(address,address,uint256).strategyAssets (contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#186)\n", "markdown": "Variable [BalancerMetaPoolStrategy.withdraw(address,address,uint256)._strategyAsset](contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L183) is too similar to [BalancerMetaPoolStrategy.withdraw(address,address,uint256).strategyAssets](contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L186)\n", "first_markdown_element": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L183", "id": "66361a04820f0b284c38b75c42ab3a0d624fca7ff422827061628fe33a32284a", "check": "similar-names", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "_strategyAmount", "source_mapping": {"start": 6763, "length": 23, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [184], "starting_column": 9, "ending_column": 32}, "type_specific_fields": {"parent": {"type": "function", "name": "withdraw", "source_mapping": {"start": 6676, "length": 441, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BalancerMetaPoolStrategy", "source_mapping": {"start": 708, "length": 21715, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "withdraw(address,address,uint256)"}}}}, {"type": "variable", "name": "strategyAmounts", "source_mapping": {"start": 2151, "length": 62, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [63], "starting_column": 9, "ending_column": 71}, "type_specific_fields": {"parent": {"type": "function", "name": "depositAll", "source_mapping": {"start": 1955, "length": 650, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BalancerMetaPoolStrategy", "source_mapping": {"start": 708, "length": 21715, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "depositAll()"}}}}], "description": "Variable BalancerMetaPoolStrategy.withdraw(address,address,uint256)._strategyAmount (contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#184) is too similar to BalancerMetaPoolStrategy.depositAll().strategyAmounts (contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#63)\n", "markdown": "Variable [BalancerMetaPoolStrategy.withdraw(address,address,uint256)._strategyAmount](contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L184) is too similar to [BalancerMetaPoolStrategy.depositAll().strategyAmounts](contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L63)\n", "first_markdown_element": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L184", "id": "a7546e7a5e19fa58d409f225c94fc62708482c38af8128c515f32d6ba8df35fe", "check": "similar-names", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "_strategyAsset", "source_mapping": {"start": 6731, "length": 22, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [183], "starting_column": 9, "ending_column": 31}, "type_specific_fields": {"parent": {"type": "function", "name": "withdraw", "source_mapping": {"start": 6676, "length": 441, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BalancerMetaPoolStrategy", "source_mapping": {"start": 708, "length": 21715, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "withdraw(address,address,uint256)"}}}}, {"type": "variable", "name": "strategyAssets", "source_mapping": {"start": 2080, "length": 61, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [62], "starting_column": 9, "ending_column": 70}, "type_specific_fields": {"parent": {"type": "function", "name": "depositAll", "source_mapping": {"start": 1955, "length": 650, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BalancerMetaPoolStrategy", "source_mapping": {"start": 708, "length": 21715, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "depositAll()"}}}}], "description": "Variable BalancerMetaPoolStrategy.withdraw(address,address,uint256)._strategyAsset (contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#183) is too similar to BalancerMetaPoolStrategy.depositAll().strategyAssets (contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#62)\n", "markdown": "Variable [BalancerMetaPoolStrategy.withdraw(address,address,uint256)._strategyAsset](contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L183) is too similar to [BalancerMetaPoolStrategy.depositAll().strategyAssets](contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L62)\n", "first_markdown_element": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L183", "id": "8d413dbcd056feff7dc7e0cdab6461754f794759a0763231778a50085c6d7beb", "check": "similar-names", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "_minToAssetAmount", "source_mapping": {"start": 2032, "length": 25, "filename_relative": "contracts/swapper/Swapper1InchV5.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/swapper/Swapper1InchV5.sol", "filename_short": "contracts/swapper/Swapper1InchV5.sol", "is_dependency": false, "lines": [44], "starting_column": 9, "ending_column": 34}, "type_specific_fields": {"parent": {"type": "function", "name": "swap", "source_mapping": {"start": 1921, "length": 2324, "filename_relative": "contracts/swapper/Swapper1InchV5.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/swapper/Swapper1InchV5.sol", "filename_short": "contracts/swapper/Swapper1InchV5.sol", "is_dependency": false, "lines": [40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Swapper1InchV5", "source_mapping": {"start": 756, "length": 3993, "filename_relative": "contracts/swapper/Swapper1InchV5.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/swapper/Swapper1InchV5.sol", "filename_short": "contracts/swapper/Swapper1InchV5.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, 99, 100, 101, 102, 103, 104, 105, 106, 107], "starting_column": 1, "ending_column": 2}}, "signature": "swap(address,address,uint256,uint256,bytes)"}}}}, {"type": "variable", "name": "minToAssetAmmount", "source_mapping": {"start": 518, "length": 25, "filename_relative": "contracts/interfaces/ISwapper.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/ISwapper.sol", "filename_short": "contracts/interfaces/ISwapper.sol", "is_dependency": false, "lines": [15], "starting_column": 9, "ending_column": 34}, "type_specific_fields": {"parent": {"type": "function", "name": "swap", "source_mapping": {"start": 410, "length": 210, "filename_relative": "contracts/interfaces/ISwapper.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/ISwapper.sol", "filename_short": "contracts/interfaces/ISwapper.sol", "is_dependency": false, "lines": [11, 12, 13, 14, 15, 16, 17], "starting_column": 5, "ending_column": 48}, "type_specific_fields": {"parent": {"type": "contract", "name": "ISwapper", "source_mapping": {"start": 25, "length": 597, "filename_relative": "contracts/interfaces/ISwapper.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/ISwapper.sol", "filename_short": "contracts/interfaces/ISwapper.sol", "is_dependency": false, "lines": [3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18], "starting_column": 1, "ending_column": 2}}, "signature": "swap(address,address,uint256,uint256,bytes)"}}}}], "description": "Variable Swapper1InchV5.swap(address,address,uint256,uint256,bytes)._minToAssetAmount (contracts/swapper/Swapper1InchV5.sol#44) is too similar to ISwapper.swap(address,address,uint256,uint256,bytes).minToAssetAmmount (contracts/interfaces/ISwapper.sol#15)\n", "markdown": "Variable [Swapper1InchV5.swap(address,address,uint256,uint256,bytes)._minToAssetAmount](contracts/swapper/Swapper1InchV5.sol#L44) is too similar to [ISwapper.swap(address,address,uint256,uint256,bytes).minToAssetAmmount](contracts/interfaces/ISwapper.sol#L15)\n", "first_markdown_element": "contracts/swapper/Swapper1InchV5.sol#L44", "id": "eae2949d0e59530d2f242dae886ff3fea97e94f94d3823b068602062a05a241e", "check": "similar-names", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "MAX_SWAP_FEE_PERCENTAGE", "source_mapping": {"start": 6203, "length": 55, "filename_relative": "contracts/utils/BalancerErrors.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/utils/BalancerErrors.sol", "filename_short": "contracts/utils/BalancerErrors.sol", "is_dependency": false, "lines": [143], "starting_column": 5, "ending_column": 60}, "type_specific_fields": {"parent": {"type": "contract", "name": "Errors", "source_mapping": {"start": 5220, "length": 10023, "filename_relative": "contracts/utils/BalancerErrors.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/utils/BalancerErrors.sol", "filename_short": "contracts/utils/BalancerErrors.sol", "is_dependency": false, "lines": [119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305], "starting_column": 1, "ending_column": 2}}}}, {"type": "variable", "name": "MIN_SWAP_FEE_PERCENTAGE", "source_mapping": {"start": 6264, "length": 55, "filename_relative": "contracts/utils/BalancerErrors.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/utils/BalancerErrors.sol", "filename_short": "contracts/utils/BalancerErrors.sol", "is_dependency": false, "lines": [144], "starting_column": 5, "ending_column": 60}, "type_specific_fields": {"parent": {"type": "contract", "name": "Errors", "source_mapping": {"start": 5220, "length": 10023, "filename_relative": "contracts/utils/BalancerErrors.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/utils/BalancerErrors.sol", "filename_short": "contracts/utils/BalancerErrors.sol", "is_dependency": false, "lines": [119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305], "starting_column": 1, "ending_column": 2}}}}], "description": "Variable Errors.MAX_SWAP_FEE_PERCENTAGE (contracts/utils/BalancerErrors.sol#143) is too similar to Errors.MIN_SWAP_FEE_PERCENTAGE (contracts/utils/BalancerErrors.sol#144)\n", "markdown": "Variable [Errors.MAX_SWAP_FEE_PERCENTAGE](contracts/utils/BalancerErrors.sol#L143) is too similar to [Errors.MIN_SWAP_FEE_PERCENTAGE](contracts/utils/BalancerErrors.sol#L144)\n", "first_markdown_element": "contracts/utils/BalancerErrors.sol#L143", "id": "1945ab1040eae7c5129c9ca51251cc5945d27f9feeef4fe3fa3ba6ace5018424", "check": "similar-names", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "SAFE_CAST_VALUE_CANT_FIT_INT256", "source_mapping": {"start": 11645, "length": 63, "filename_relative": "contracts/utils/BalancerErrors.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/utils/BalancerErrors.sol", "filename_short": "contracts/utils/BalancerErrors.sol", "is_dependency": false, "lines": [237], "starting_column": 5, "ending_column": 68}, "type_specific_fields": {"parent": {"type": "contract", "name": "Errors", "source_mapping": {"start": 5220, "length": 10023, "filename_relative": "contracts/utils/BalancerErrors.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/utils/BalancerErrors.sol", "filename_short": "contracts/utils/BalancerErrors.sol", "is_dependency": false, "lines": [119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305], "starting_column": 1, "ending_column": 2}}}}, {"type": "variable", "name": "SAFE_CAST_VALUE_CANT_FIT_UINT64", "source_mapping": {"start": 12870, "length": 63, "filename_relative": "contracts/utils/BalancerErrors.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/utils/BalancerErrors.sol", "filename_short": "contracts/utils/BalancerErrors.sol", "is_dependency": false, "lines": [258], "starting_column": 5, "ending_column": 68}, "type_specific_fields": {"parent": {"type": "contract", "name": "Errors", "source_mapping": {"start": 5220, "length": 10023, "filename_relative": "contracts/utils/BalancerErrors.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/utils/BalancerErrors.sol", "filename_short": "contracts/utils/BalancerErrors.sol", "is_dependency": false, "lines": [119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305], "starting_column": 1, "ending_column": 2}}}}], "description": "Variable Errors.SAFE_CAST_VALUE_CANT_FIT_INT256 (contracts/utils/BalancerErrors.sol#237) is too similar to Errors.SAFE_CAST_VALUE_CANT_FIT_UINT64 (contracts/utils/BalancerErrors.sol#258)\n", "markdown": "Variable [Errors.SAFE_CAST_VALUE_CANT_FIT_INT256](contracts/utils/BalancerErrors.sol#L237) is too similar to [Errors.SAFE_CAST_VALUE_CANT_FIT_UINT64](contracts/utils/BalancerErrors.sol#L258)\n", "first_markdown_element": "contracts/utils/BalancerErrors.sol#L237", "id": "88ac8f4e5576fb97b495077a9436555edd1c567779549108bc61db44fa8fbc76", "check": "similar-names", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "X_OUT_OF_BOUNDS", "source_mapping": {"start": 5543, "length": 45, "filename_relative": "contracts/utils/BalancerErrors.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/utils/BalancerErrors.sol", "filename_short": "contracts/utils/BalancerErrors.sol", "is_dependency": false, "lines": [127], "starting_column": 5, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "contract", "name": "Errors", "source_mapping": {"start": 5220, "length": 10023, "filename_relative": "contracts/utils/BalancerErrors.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/utils/BalancerErrors.sol", "filename_short": "contracts/utils/BalancerErrors.sol", "is_dependency": false, "lines": [119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305], "starting_column": 1, "ending_column": 2}}}}, {"type": "variable", "name": "Y_OUT_OF_BOUNDS", "source_mapping": {"start": 5594, "length": 45, "filename_relative": "contracts/utils/BalancerErrors.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/utils/BalancerErrors.sol", "filename_short": "contracts/utils/BalancerErrors.sol", "is_dependency": false, "lines": [128], "starting_column": 5, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "contract", "name": "Errors", "source_mapping": {"start": 5220, "length": 10023, "filename_relative": "contracts/utils/BalancerErrors.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/utils/BalancerErrors.sol", "filename_short": "contracts/utils/BalancerErrors.sol", "is_dependency": false, "lines": [119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305], "starting_column": 1, "ending_column": 2}}}}], "description": "Variable Errors.X_OUT_OF_BOUNDS (contracts/utils/BalancerErrors.sol#127) is too similar to Errors.Y_OUT_OF_BOUNDS (contracts/utils/BalancerErrors.sol#128)\n", "markdown": "Variable [Errors.X_OUT_OF_BOUNDS](contracts/utils/BalancerErrors.sol#L127) is too similar to [Errors.Y_OUT_OF_BOUNDS](contracts/utils/BalancerErrors.sol#L128)\n", "first_markdown_element": "contracts/utils/BalancerErrors.sol#L127", "id": "f712601ceb4ec174a5c45eca90ac3878faf40c5dc35b8bac76ab1386bc61f748", "check": "similar-names", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "_deprecated_cvxDepositorAddress", "source_mapping": {"start": 1201, "length": 47, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.sol", "is_dependency": false, "lines": [30], "starting_column": 5, "ending_column": 52}, "type_specific_fields": {"parent": {"type": "contract", "name": "ConvexEthMetaStrategy", "source_mapping": {"start": 769, "length": 22879, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622], "starting_column": 1, "ending_column": 2}}}}, {"type": "contract", "name": "ConvexEthMetaStrategy", "source_mapping": {"start": 769, "length": 22879, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622], "starting_column": 1, "ending_column": 2}}], "description": "ConvexEthMetaStrategy._deprecated_cvxDepositorAddress (contracts/strategies/ConvexEthMetaStrategy.sol#30) is never used in ConvexEthMetaStrategy (contracts/strategies/ConvexEthMetaStrategy.sol#20-622)\n", "markdown": "[ConvexEthMetaStrategy._deprecated_cvxDepositorAddress](contracts/strategies/ConvexEthMetaStrategy.sol#L30) is never used in [ConvexEthMetaStrategy](contracts/strategies/ConvexEthMetaStrategy.sol#L20-L622)\n", "first_markdown_element": "contracts/strategies/ConvexEthMetaStrategy.sol#L30", "id": "0327ed03b6138255e7d3ed2dec91360718b9225fdec894e5e2565e2b9dedbd97", "check": "unused-state", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "_deprecated_cvxRewardStaker", "source_mapping": {"start": 1304, "length": 43, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.sol", "is_dependency": false, "lines": [32], "starting_column": 5, "ending_column": 48}, "type_specific_fields": {"parent": {"type": "contract", "name": "ConvexEthMetaStrategy", "source_mapping": {"start": 769, "length": 22879, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622], "starting_column": 1, "ending_column": 2}}}}, {"type": "contract", "name": "ConvexEthMetaStrategy", "source_mapping": {"start": 769, "length": 22879, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622], "starting_column": 1, "ending_column": 2}}], "description": "ConvexEthMetaStrategy._deprecated_cvxRewardStaker (contracts/strategies/ConvexEthMetaStrategy.sol#32) is never used in ConvexEthMetaStrategy (contracts/strategies/ConvexEthMetaStrategy.sol#20-622)\n", "markdown": "[ConvexEthMetaStrategy._deprecated_cvxRewardStaker](contracts/strategies/ConvexEthMetaStrategy.sol#L32) is never used in [ConvexEthMetaStrategy](contracts/strategies/ConvexEthMetaStrategy.sol#L20-L622)\n", "first_markdown_element": "contracts/strategies/ConvexEthMetaStrategy.sol#L32", "id": "30cc5ee3de309a7891c1e195b89e0be4c974dabc6853688a419fd61fe368b561", "check": "unused-state", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "_deprecated_cvxDepositorPTokenId", "source_mapping": {"start": 1403, "length": 48, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.sol", "is_dependency": false, "lines": [34], "starting_column": 5, "ending_column": 53}, "type_specific_fields": {"parent": {"type": "contract", "name": "ConvexEthMetaStrategy", "source_mapping": {"start": 769, "length": 22879, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622], "starting_column": 1, "ending_column": 2}}}}, {"type": "contract", "name": "ConvexEthMetaStrategy", "source_mapping": {"start": 769, "length": 22879, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622], "starting_column": 1, "ending_column": 2}}], "description": "ConvexEthMetaStrategy._deprecated_cvxDepositorPTokenId (contracts/strategies/ConvexEthMetaStrategy.sol#34) is never used in ConvexEthMetaStrategy (contracts/strategies/ConvexEthMetaStrategy.sol#20-622)\n", "markdown": "[ConvexEthMetaStrategy._deprecated_cvxDepositorPTokenId](contracts/strategies/ConvexEthMetaStrategy.sol#L34) is never used in [ConvexEthMetaStrategy](contracts/strategies/ConvexEthMetaStrategy.sol#L20-L622)\n", "first_markdown_element": "contracts/strategies/ConvexEthMetaStrategy.sol#L34", "id": "0c159fca431d4d02642f66812fd31a3a4f1ca96f1d99b70af66c53e29b40adb6", "check": "unused-state", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "_deprecated_curvePool", "source_mapping": {"start": 1507, "length": 37, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.sol", "is_dependency": false, "lines": [36], "starting_column": 5, "ending_column": 42}, "type_specific_fields": {"parent": {"type": "contract", "name": "ConvexEthMetaStrategy", "source_mapping": {"start": 769, "length": 22879, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622], "starting_column": 1, "ending_column": 2}}}}, {"type": "contract", "name": "ConvexEthMetaStrategy", "source_mapping": {"start": 769, "length": 22879, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622], "starting_column": 1, "ending_column": 2}}], "description": "ConvexEthMetaStrategy._deprecated_curvePool (contracts/strategies/ConvexEthMetaStrategy.sol#36) is never used in ConvexEthMetaStrategy (contracts/strategies/ConvexEthMetaStrategy.sol#20-622)\n", "markdown": "[ConvexEthMetaStrategy._deprecated_curvePool](contracts/strategies/ConvexEthMetaStrategy.sol#L36) is never used in [ConvexEthMetaStrategy](contracts/strategies/ConvexEthMetaStrategy.sol#L20-L622)\n", "first_markdown_element": "contracts/strategies/ConvexEthMetaStrategy.sol#L36", "id": "a3c3fabcdade68568928e21ca48dbc4d59ea977485e567e43b5d5eed1a7dc704", "check": "unused-state", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "_deprecated_lpToken", "source_mapping": {"start": 1600, "length": 35, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.sol", "is_dependency": false, "lines": [38], "starting_column": 5, "ending_column": 40}, "type_specific_fields": {"parent": {"type": "contract", "name": "ConvexEthMetaStrategy", "source_mapping": {"start": 769, "length": 22879, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622], "starting_column": 1, "ending_column": 2}}}}, {"type": "contract", "name": "ConvexEthMetaStrategy", "source_mapping": {"start": 769, "length": 22879, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622], "starting_column": 1, "ending_column": 2}}], "description": "ConvexEthMetaStrategy._deprecated_lpToken (contracts/strategies/ConvexEthMetaStrategy.sol#38) is never used in ConvexEthMetaStrategy (contracts/strategies/ConvexEthMetaStrategy.sol#20-622)\n", "markdown": "[ConvexEthMetaStrategy._deprecated_lpToken](contracts/strategies/ConvexEthMetaStrategy.sol#L38) is never used in [ConvexEthMetaStrategy](contracts/strategies/ConvexEthMetaStrategy.sol#L20-L622)\n", "first_markdown_element": "contracts/strategies/ConvexEthMetaStrategy.sol#L38", "id": "39e2a5642a5a27d124c6d45161ab1443b9dd5cd4895ed05e9e4802b61e11ea7d", "check": "unused-state", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "_deprecated_oeth", "source_mapping": {"start": 1691, "length": 32, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.sol", "is_dependency": false, "lines": [40], "starting_column": 5, "ending_column": 37}, "type_specific_fields": {"parent": {"type": "contract", "name": "ConvexEthMetaStrategy", "source_mapping": {"start": 769, "length": 22879, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622], "starting_column": 1, "ending_column": 2}}}}, {"type": "contract", "name": "ConvexEthMetaStrategy", "source_mapping": {"start": 769, "length": 22879, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622], "starting_column": 1, "ending_column": 2}}], "description": "ConvexEthMetaStrategy._deprecated_oeth (contracts/strategies/ConvexEthMetaStrategy.sol#40) is never used in ConvexEthMetaStrategy (contracts/strategies/ConvexEthMetaStrategy.sol#20-622)\n", "markdown": "[ConvexEthMetaStrategy._deprecated_oeth](contracts/strategies/ConvexEthMetaStrategy.sol#L40) is never used in [ConvexEthMetaStrategy](contracts/strategies/ConvexEthMetaStrategy.sol#L20-L622)\n", "first_markdown_element": "contracts/strategies/ConvexEthMetaStrategy.sol#L40", "id": "946c8098661a7ea28eaebc3ab1f95fc3943e3cb7ae3fb7136c2aec3a2d8122b6", "check": "unused-state", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "_deprecated_weth", "source_mapping": {"start": 1779, "length": 32, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.sol", "is_dependency": false, "lines": [42], "starting_column": 5, "ending_column": 37}, "type_specific_fields": {"parent": {"type": "contract", "name": "ConvexEthMetaStrategy", "source_mapping": {"start": 769, "length": 22879, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622], "starting_column": 1, "ending_column": 2}}}}, {"type": "contract", "name": "ConvexEthMetaStrategy", "source_mapping": {"start": 769, "length": 22879, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622], "starting_column": 1, "ending_column": 2}}], "description": "ConvexEthMetaStrategy._deprecated_weth (contracts/strategies/ConvexEthMetaStrategy.sol#42) is never used in ConvexEthMetaStrategy (contracts/strategies/ConvexEthMetaStrategy.sol#20-622)\n", "markdown": "[ConvexEthMetaStrategy._deprecated_weth](contracts/strategies/ConvexEthMetaStrategy.sol#L42) is never used in [ConvexEthMetaStrategy](contracts/strategies/ConvexEthMetaStrategy.sol#L20-L622)\n", "first_markdown_element": "contracts/strategies/ConvexEthMetaStrategy.sol#L42", "id": "40728e6263aa0c4e1c42152dbe790c492f8d3f371e7899ae56f366d06cff33c7", "check": "unused-state", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "_deprecated_oethCoinIndex", "source_mapping": {"start": 1903, "length": 41, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.sol", "is_dependency": false, "lines": [46], "starting_column": 5, "ending_column": 46}, "type_specific_fields": {"parent": {"type": "contract", "name": "ConvexEthMetaStrategy", "source_mapping": {"start": 769, "length": 22879, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622], "starting_column": 1, "ending_column": 2}}}}, {"type": "contract", "name": "ConvexEthMetaStrategy", "source_mapping": {"start": 769, "length": 22879, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622], "starting_column": 1, "ending_column": 2}}], "description": "ConvexEthMetaStrategy._deprecated_oethCoinIndex (contracts/strategies/ConvexEthMetaStrategy.sol#46) is never used in ConvexEthMetaStrategy (contracts/strategies/ConvexEthMetaStrategy.sol#20-622)\n", "markdown": "[ConvexEthMetaStrategy._deprecated_oethCoinIndex](contracts/strategies/ConvexEthMetaStrategy.sol#L46) is never used in [ConvexEthMetaStrategy](contracts/strategies/ConvexEthMetaStrategy.sol#L20-L622)\n", "first_markdown_element": "contracts/strategies/ConvexEthMetaStrategy.sol#L46", "id": "c73b3d49a3ad1c2a19c81105bed96c8756ef324b24a165b13b1dfe5c2ca4917d", "check": "unused-state", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "_deprecated_ethCoinIndex", "source_mapping": {"start": 2000, "length": 40, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.sol", "is_dependency": false, "lines": [48], "starting_column": 5, "ending_column": 45}, "type_specific_fields": {"parent": {"type": "contract", "name": "ConvexEthMetaStrategy", "source_mapping": {"start": 769, "length": 22879, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622], "starting_column": 1, "ending_column": 2}}}}, {"type": "contract", "name": "ConvexEthMetaStrategy", "source_mapping": {"start": 769, "length": 22879, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622], "starting_column": 1, "ending_column": 2}}], "description": "ConvexEthMetaStrategy._deprecated_ethCoinIndex (contracts/strategies/ConvexEthMetaStrategy.sol#48) is never used in ConvexEthMetaStrategy (contracts/strategies/ConvexEthMetaStrategy.sol#20-622)\n", "markdown": "[ConvexEthMetaStrategy._deprecated_ethCoinIndex](contracts/strategies/ConvexEthMetaStrategy.sol#L48) is never used in [ConvexEthMetaStrategy](contracts/strategies/ConvexEthMetaStrategy.sol#L20-L622)\n", "first_markdown_element": "contracts/strategies/ConvexEthMetaStrategy.sol#L48", "id": "116e62b88711a6bb923cb4eef4fbea98c9c7ddd45bc201a6f569d6f9b150fe60", "check": "unused-state", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "THREEPOOL_ASSET_COUNT", "source_mapping": {"start": 814, "length": 51, "filename_relative": "contracts/strategies/BaseCurveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/BaseCurveStrategy.sol", "filename_short": "contracts/strategies/BaseCurveStrategy.sol", "is_dependency": false, "lines": [22], "starting_column": 5, "ending_column": 56}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseCurveStrategy", "source_mapping": {"start": 536, "length": 11069, "filename_relative": "contracts/strategies/BaseCurveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/BaseCurveStrategy.sol", "filename_short": "contracts/strategies/BaseCurveStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307], "starting_column": 1, "ending_column": 2}}}}, {"type": "contract", "name": "ConvexStrategy", "source_mapping": {"start": 918, "length": 5358, "filename_relative": "contracts/strategies/ConvexStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexStrategy.sol", "filename_short": "contracts/strategies/ConvexStrategy.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165], "starting_column": 1, "ending_column": 2}}], "description": "BaseCurveStrategy.THREEPOOL_ASSET_COUNT (contracts/strategies/BaseCurveStrategy.sol#22) is never used in ConvexStrategy (contracts/strategies/ConvexStrategy.sol#25-165)\n", "markdown": "[BaseCurveStrategy.THREEPOOL_ASSET_COUNT](contracts/strategies/BaseCurveStrategy.sol#L22) is never used in [ConvexStrategy](contracts/strategies/ConvexStrategy.sol#L25-L165)\n", "first_markdown_element": "contracts/strategies/BaseCurveStrategy.sol#L22", "id": "6c2bd4b15055d852aa12dfd95a8d1740df4b29e0b198ce384c4d685dbc2205d4", "check": "unused-state", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "_deprecated_cvxRewardTokenAddress", "source_mapping": {"start": 1173, "length": 49, "filename_relative": "contracts/strategies/ConvexStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexStrategy.sol", "filename_short": "contracts/strategies/ConvexStrategy.sol", "is_dependency": false, "lines": [32], "starting_column": 5, "ending_column": 54}, "type_specific_fields": {"parent": {"type": "contract", "name": "ConvexStrategy", "source_mapping": {"start": 918, "length": 5358, "filename_relative": "contracts/strategies/ConvexStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexStrategy.sol", "filename_short": "contracts/strategies/ConvexStrategy.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165], "starting_column": 1, "ending_column": 2}}}}, {"type": "contract", "name": "ConvexStrategy", "source_mapping": {"start": 918, "length": 5358, "filename_relative": "contracts/strategies/ConvexStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexStrategy.sol", "filename_short": "contracts/strategies/ConvexStrategy.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165], "starting_column": 1, "ending_column": 2}}], "description": "ConvexStrategy._deprecated_cvxRewardTokenAddress (contracts/strategies/ConvexStrategy.sol#32) is never used in ConvexStrategy (contracts/strategies/ConvexStrategy.sol#25-165)\n", "markdown": "[ConvexStrategy._deprecated_cvxRewardTokenAddress](contracts/strategies/ConvexStrategy.sol#L32) is never used in [ConvexStrategy](contracts/strategies/ConvexStrategy.sol#L25-L165)\n", "first_markdown_element": "contracts/strategies/ConvexStrategy.sol#L32", "id": "583ffe934d527c68c0da4bbaa6770a227f6b95cf94f97d7d26275d10736106c2", "check": "unused-state", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "THREEPOOL_ASSET_COUNT", "source_mapping": {"start": 814, "length": 51, "filename_relative": "contracts/strategies/BaseCurveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/BaseCurveStrategy.sol", "filename_short": "contracts/strategies/BaseCurveStrategy.sol", "is_dependency": false, "lines": [22], "starting_column": 5, "ending_column": 56}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseCurveStrategy", "source_mapping": {"start": 536, "length": 11069, "filename_relative": "contracts/strategies/BaseCurveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/BaseCurveStrategy.sol", "filename_short": "contracts/strategies/BaseCurveStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307], "starting_column": 1, "ending_column": 2}}}}, {"type": "contract", "name": "ThreePoolStrategy", "source_mapping": {"start": 907, "length": 4607, "filename_relative": "contracts/strategies/ThreePoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ThreePoolStrategy.sol", "filename_short": "contracts/strategies/ThreePoolStrategy.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147], "starting_column": 1, "ending_column": 2}}], "description": "BaseCurveStrategy.THREEPOOL_ASSET_COUNT (contracts/strategies/BaseCurveStrategy.sol#22) is never used in ThreePoolStrategy (contracts/strategies/ThreePoolStrategy.sol#25-147)\n", "markdown": "[BaseCurveStrategy.THREEPOOL_ASSET_COUNT](contracts/strategies/BaseCurveStrategy.sol#L22) is never used in [ThreePoolStrategy](contracts/strategies/ThreePoolStrategy.sol#L25-L147)\n", "first_markdown_element": "contracts/strategies/BaseCurveStrategy.sol#L22", "id": "8fcb03501694d5d1c66767faeed19b98cf845ca0db7f3b4272ddf86d1285c47d", "check": "unused-state", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "MINT_MINIMUM_UNIT_PRICE", "source_mapping": {"start": 5582, "length": 51, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [138], "starting_column": 5, "ending_column": 56}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 695, "length": 6457, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178], "starting_column": 1, "ending_column": 2}}}}, {"type": "contract", "name": "OETHVault", "source_mapping": {"start": 164, "length": 32, "filename_relative": "contracts/vault/OETHVault.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHVault.sol", "filename_short": "contracts/vault/OETHVault.sol", "is_dependency": false, "lines": [10, 11, 12], "starting_column": 1, "ending_column": 2}}], "description": "VaultStorage.MINT_MINIMUM_UNIT_PRICE (contracts/vault/VaultStorage.sol#138) is never used in OETHVault (contracts/vault/OETHVault.sol#10-12)\n", "markdown": "[VaultStorage.MINT_MINIMUM_UNIT_PRICE](contracts/vault/VaultStorage.sol#L138) is never used in [OETHVault](contracts/vault/OETHVault.sol#L10-L12)\n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L138", "id": "149a5dd32dc4281e6676bc6235d5b98438630b9dd44b947183da6f2539763ef9", "check": "unused-state", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "MIN_UNIT_PRICE_DRIFT", "source_mapping": {"start": 6052, "length": 46, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [149], "starting_column": 5, "ending_column": 51}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 695, "length": 6457, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178], "starting_column": 1, "ending_column": 2}}}}, {"type": "contract", "name": "OETHVault", "source_mapping": {"start": 164, "length": 32, "filename_relative": "contracts/vault/OETHVault.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHVault.sol", "filename_short": "contracts/vault/OETHVault.sol", "is_dependency": false, "lines": [10, 11, 12], "starting_column": 1, "ending_column": 2}}], "description": "VaultStorage.MIN_UNIT_PRICE_DRIFT (contracts/vault/VaultStorage.sol#149) is never used in OETHVault (contracts/vault/OETHVault.sol#10-12)\n", "markdown": "[VaultStorage.MIN_UNIT_PRICE_DRIFT](contracts/vault/VaultStorage.sol#L149) is never used in [OETHVault](contracts/vault/OETHVault.sol#L10-L12)\n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L149", "id": "7f19bc3e2fb9a9561aee099dc073232975619a6c5032b3a61c1645bf58315f67", "check": "unused-state", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "MAX_UNIT_PRICE_DRIFT", "source_mapping": {"start": 6104, "length": 46, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [150], "starting_column": 5, "ending_column": 51}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 695, "length": 6457, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178], "starting_column": 1, "ending_column": 2}}}}, {"type": "contract", "name": "OETHVault", "source_mapping": {"start": 164, "length": 32, "filename_relative": "contracts/vault/OETHVault.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHVault.sol", "filename_short": "contracts/vault/OETHVault.sol", "is_dependency": false, "lines": [10, 11, 12], "starting_column": 1, "ending_column": 2}}], "description": "VaultStorage.MAX_UNIT_PRICE_DRIFT (contracts/vault/VaultStorage.sol#150) is never used in OETHVault (contracts/vault/OETHVault.sol#10-12)\n", "markdown": "[VaultStorage.MAX_UNIT_PRICE_DRIFT](contracts/vault/VaultStorage.sol#L150) is never used in [OETHVault](contracts/vault/OETHVault.sol#L10-L12)\n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L150", "id": "e5390a7816c93ca32a85f9b57349d42579c55c04a3a4ef2b4769d2575a1905bb", "check": "unused-state", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "MINT_MINIMUM_UNIT_PRICE", "source_mapping": {"start": 5582, "length": 51, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [138], "starting_column": 5, "ending_column": 56}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 695, "length": 6457, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178], "starting_column": 1, "ending_column": 2}}}}, {"type": "contract", "name": "OETHVaultAdmin", "source_mapping": {"start": 179, "length": 42, "filename_relative": "contracts/vault/OETHVaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHVaultAdmin.sol", "filename_short": "contracts/vault/OETHVaultAdmin.sol", "is_dependency": false, "lines": [10, 11, 12], "starting_column": 1, "ending_column": 2}}], "description": "VaultStorage.MINT_MINIMUM_UNIT_PRICE (contracts/vault/VaultStorage.sol#138) is never used in OETHVaultAdmin (contracts/vault/OETHVaultAdmin.sol#10-12)\n", "markdown": "[VaultStorage.MINT_MINIMUM_UNIT_PRICE](contracts/vault/VaultStorage.sol#L138) is never used in [OETHVaultAdmin](contracts/vault/OETHVaultAdmin.sol#L10-L12)\n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L138", "id": "bbab6f2a0b738f60095768009071f55614b28ba6b6e5e6a71f67f94ee08c8e4d", "check": "unused-state", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "MIN_UNIT_PRICE_DRIFT", "source_mapping": {"start": 6052, "length": 46, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [149], "starting_column": 5, "ending_column": 51}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 695, "length": 6457, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178], "starting_column": 1, "ending_column": 2}}}}, {"type": "contract", "name": "OETHVaultAdmin", "source_mapping": {"start": 179, "length": 42, "filename_relative": "contracts/vault/OETHVaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHVaultAdmin.sol", "filename_short": "contracts/vault/OETHVaultAdmin.sol", "is_dependency": false, "lines": [10, 11, 12], "starting_column": 1, "ending_column": 2}}], "description": "VaultStorage.MIN_UNIT_PRICE_DRIFT (contracts/vault/VaultStorage.sol#149) is never used in OETHVaultAdmin (contracts/vault/OETHVaultAdmin.sol#10-12)\n", "markdown": "[VaultStorage.MIN_UNIT_PRICE_DRIFT](contracts/vault/VaultStorage.sol#L149) is never used in [OETHVaultAdmin](contracts/vault/OETHVaultAdmin.sol#L10-L12)\n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L149", "id": "94393d439aab1bc281bb45a54cf564b95035d6a7bd2911a0c2ab82805660cbdc", "check": "unused-state", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "MAX_UNIT_PRICE_DRIFT", "source_mapping": {"start": 6104, "length": 46, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [150], "starting_column": 5, "ending_column": 51}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 695, "length": 6457, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178], "starting_column": 1, "ending_column": 2}}}}, {"type": "contract", "name": "OETHVaultAdmin", "source_mapping": {"start": 179, "length": 42, "filename_relative": "contracts/vault/OETHVaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHVaultAdmin.sol", "filename_short": "contracts/vault/OETHVaultAdmin.sol", "is_dependency": false, "lines": [10, 11, 12], "starting_column": 1, "ending_column": 2}}], "description": "VaultStorage.MAX_UNIT_PRICE_DRIFT (contracts/vault/VaultStorage.sol#150) is never used in OETHVaultAdmin (contracts/vault/OETHVaultAdmin.sol#10-12)\n", "markdown": "[VaultStorage.MAX_UNIT_PRICE_DRIFT](contracts/vault/VaultStorage.sol#L150) is never used in [OETHVaultAdmin](contracts/vault/OETHVaultAdmin.sol#L10-L12)\n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L150", "id": "0c56f807a05d376afb6eb2e3300f124c71164a80c1bb85eb40f65da6f9f8a1d2", "check": "unused-state", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "strategies", "source_mapping": {"start": 3271, "length": 48, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [83], "starting_column": 5, "ending_column": 53}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 695, "length": 6457, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178], "starting_column": 1, "ending_column": 2}}}}, {"type": "contract", "name": "OETHVaultCore", "source_mapping": {"start": 176, "length": 40, "filename_relative": "contracts/vault/OETHVaultCore.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHVaultCore.sol", "filename_short": "contracts/vault/OETHVaultCore.sol", "is_dependency": false, "lines": [10, 11, 12], "starting_column": 1, "ending_column": 2}}], "description": "VaultStorage.strategies (contracts/vault/VaultStorage.sol#83) is never used in OETHVaultCore (contracts/vault/OETHVaultCore.sol#10-12)\n", "markdown": "[VaultStorage.strategies](contracts/vault/VaultStorage.sol#L83) is never used in [OETHVaultCore](contracts/vault/OETHVaultCore.sol#L10-L12)\n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L83", "id": "e1cb59e398429820cba9c8fa98f9b6f9bb5766b0248f0efc2355d8a1028187de", "check": "unused-state", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "swapConfig", "source_mapping": {"start": 6552, "length": 58, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [161], "starting_column": 5, "ending_column": 63}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 695, "length": 6457, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178], "starting_column": 1, "ending_column": 2}}}}, {"type": "contract", "name": "OETHVaultCore", "source_mapping": {"start": 176, "length": 40, "filename_relative": "contracts/vault/OETHVaultCore.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHVaultCore.sol", "filename_short": "contracts/vault/OETHVaultCore.sol", "is_dependency": false, "lines": [10, 11, 12], "starting_column": 1, "ending_column": 2}}], "description": "VaultStorage.swapConfig (contracts/vault/VaultStorage.sol#161) is never used in OETHVaultCore (contracts/vault/OETHVaultCore.sol#10-12)\n", "markdown": "[VaultStorage.swapConfig](contracts/vault/VaultStorage.sol#L161) is never used in [OETHVaultCore](contracts/vault/OETHVaultCore.sol#L10-L12)\n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L161", "id": "2f693fe1c1b55189b244c3d2836962822084ed42ba961b3b1a724748878d58d8", "check": "unused-state", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "MAX_UINT", "source_mapping": {"start": 998, "length": 111, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [28, 29], "starting_column": 5, "ending_column": 75}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 788, "length": 27831, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803], "starting_column": 1, "ending_column": 2}}}}, {"type": "contract", "name": "OETHVaultCore", "source_mapping": {"start": 176, "length": 40, "filename_relative": "contracts/vault/OETHVaultCore.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHVaultCore.sol", "filename_short": "contracts/vault/OETHVaultCore.sol", "is_dependency": false, "lines": [10, 11, 12], "starting_column": 1, "ending_column": 2}}], "description": "VaultCore.MAX_UINT (contracts/vault/VaultCore.sol#28-29) is never used in OETHVaultCore (contracts/vault/OETHVaultCore.sol#10-12)\n", "markdown": "[VaultCore.MAX_UINT](contracts/vault/VaultCore.sol#L28-L29) is never used in [OETHVaultCore](contracts/vault/OETHVaultCore.sol#L10-L12)\n", "first_markdown_element": "contracts/vault/VaultCore.sol#L28-L29", "id": "95344e00c1decfbff4303679bb74ce8912b6e6ff165ec7001fd0c3e38aa363c5", "check": "unused-state", "impact": "Informational", "confidence": "High"}, {"elements": [], "description": "Loop condition `i < durations.length` (contracts/staking/SingleAssetStaking.sol#136) should use cached array length instead of referencing `length` member of the storage array.\n ", "markdown": "Loop condition `i < durations.length` (contracts/staking/SingleAssetStaking.sol#136) should use cached array length instead of referencing `length` member of the storage array.\n ", "first_markdown_element": "", "id": "7834824c1cc045ca55ed538b20a5b1d54aa02ad5c6b8b0f8d532f4f64b866017", "check": "cache-array-length", "impact": "Optimization", "confidence": "High"}, {"elements": [], "description": "Loop condition `i < assetsMapped.length` (contracts/strategies/MorphoCompoundStrategy.sol#108) should use cached array length instead of referencing `length` member of the storage array.\n ", "markdown": "Loop condition `i < assetsMapped.length` (contracts/strategies/MorphoCompoundStrategy.sol#108) should use cached array length instead of referencing `length` member of the storage array.\n ", "first_markdown_element": "", "id": "df0279ca5188021414afb9690dcb7a7412b2bbe0fd00a66b25dae68ab562441c", "check": "cache-array-length", "impact": "Optimization", "confidence": "High"}, {"elements": [], "description": "Loop condition `i < assetsMapped.length` (contracts/strategies/MorphoCompoundStrategy.sol#134) should use cached array length instead of referencing `length` member of the storage array.\n ", "markdown": "Loop condition `i < assetsMapped.length` (contracts/strategies/MorphoCompoundStrategy.sol#134) should use cached array length instead of referencing `length` member of the storage array.\n ", "first_markdown_element": "", "id": "e9c46c47b40bf46f415e79c57b6a041e06ef1d603c2581d05607e3f18c833d63", "check": "cache-array-length", "impact": "Optimization", "confidence": "High"}, {"elements": [], "description": "Loop condition `i < assetsMapped.length` (contracts/strategies/BaseCurveStrategy.sol#71) should use cached array length instead of referencing `length` member of the storage array.\n ", "markdown": "Loop condition `i < assetsMapped.length` (contracts/strategies/BaseCurveStrategy.sol#71) should use cached array length instead of referencing `length` member of the storage array.\n ", "first_markdown_element": "", "id": "87dae9f2e8793b2c6216035d1184808cefbc03b8b7770cd5fdcab32f5c88930e", "check": "cache-array-length", "impact": "Optimization", "confidence": "High"}, {"elements": [], "description": "Loop condition `i < assetsMapped.length` (contracts/strategies/AaveStrategy.sol#278) should use cached array length instead of referencing `length` member of the storage array.\n ", "markdown": "Loop condition `i < assetsMapped.length` (contracts/strategies/AaveStrategy.sol#278) should use cached array length instead of referencing `length` member of the storage array.\n ", "first_markdown_element": "", "id": "2a56e903b91517926f149ebe2a16a1f78062b796410716df17fd43d2200685a6", "check": "cache-array-length", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "maxSupplyDiff", "source_mapping": {"start": 5213, "length": 28, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [127], "starting_column": 5, "ending_column": 33}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 695, "length": 6457, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178], "starting_column": 1, "ending_column": 2}}}}], "description": "VaultStorage.maxSupplyDiff (contracts/vault/VaultStorage.sol#127) should be constant \n", "markdown": "[VaultStorage.maxSupplyDiff](contracts/vault/VaultStorage.sol#L127) should be constant \n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L127", "id": "09fd4446efe571b7801efb7877d22557574ea45e2982bf4d5366e0bdf1142249", "check": "constable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "netOusdMintForStrategyThreshold", "source_mapping": {"start": 5995, "length": 50, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [147], "starting_column": 5, "ending_column": 55}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 695, "length": 6457, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178], "starting_column": 1, "ending_column": 2}}}}], "description": "VaultStorage.netOusdMintForStrategyThreshold (contracts/vault/VaultStorage.sol#147) should be constant \n", "markdown": "[VaultStorage.netOusdMintForStrategyThreshold](contracts/vault/VaultStorage.sol#L147) should be constant \n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L147", "id": "bd0e4f67d5f6fb2a9810eb8385684dfcfa6d5febceacff6a21756e0514dc7dd7", "check": "constable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "oUSD", "source_mapping": {"start": 4376, "length": 18, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [106], "starting_column": 5, "ending_column": 23}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 695, "length": 6457, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178], "starting_column": 1, "ending_column": 2}}}}], "description": "VaultStorage.oUSD (contracts/vault/VaultStorage.sol#106) should be constant \n", "markdown": "[VaultStorage.oUSD](contracts/vault/VaultStorage.sol#L106) should be constant \n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L106", "id": "500e8adb38d72426b5e12a19f032430bae7fe79fc3b9039de8e1d2b8043c9f27", "check": "constable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "ousdMetaStrategy", "source_mapping": {"start": 5739, "length": 44, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [141], "starting_column": 5, "ending_column": 49}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 695, "length": 6457, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178], "starting_column": 1, "ending_column": 2}}}}], "description": "VaultStorage.ousdMetaStrategy (contracts/vault/VaultStorage.sol#141) should be constant \n", "markdown": "[VaultStorage.ousdMetaStrategy](contracts/vault/VaultStorage.sol#L141) should be constant \n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L141", "id": "79f67b513634062fa94cfd8c1f0eaac89d45211dbbaf7e930609371ec6e8a4a1", "check": "constable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "strategistAddr", "source_mapping": {"start": 4897, "length": 42, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [120], "starting_column": 5, "ending_column": 47}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 695, "length": 6457, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178], "starting_column": 1, "ending_column": 2}}}}], "description": "VaultStorage.strategistAddr (contracts/vault/VaultStorage.sol#120) should be constant \n", "markdown": "[VaultStorage.strategistAddr](contracts/vault/VaultStorage.sol#L120) should be constant \n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L120", "id": "3040efebbb4c164522cb91db7f6c9c1d2aff4f8ca7753b542e75df9130cdb792", "check": "constable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "trusteeAddress", "source_mapping": {"start": 5320, "length": 29, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [130], "starting_column": 5, "ending_column": 34}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 695, "length": 6457, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178], "starting_column": 1, "ending_column": 2}}}}], "description": "VaultStorage.trusteeAddress (contracts/vault/VaultStorage.sol#130) should be constant \n", "markdown": "[VaultStorage.trusteeAddress](contracts/vault/VaultStorage.sol#L130) should be constant \n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L130", "id": "1694f1d2905ea29eda65443d05da440b7e71abfa3cbf6cfa6a42f6a9ff44e094", "check": "constable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "trusteeFeeBps", "source_mapping": {"start": 5429, "length": 28, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [133], "starting_column": 5, "ending_column": 33}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 695, "length": 6457, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178], "starting_column": 1, "ending_column": 2}}}}], "description": "VaultStorage.trusteeFeeBps (contracts/vault/VaultStorage.sol#133) should be constant \n", "markdown": "[VaultStorage.trusteeFeeBps](contracts/vault/VaultStorage.sol#L133) should be constant \n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L133", "id": "684276aeea9e321f463f752fc69838fd6f7e79e627cb01fe42aff0ff1706283a", "check": "constable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "adjuster", "source_mapping": {"start": 1575, "length": 23, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [43], "starting_column": 5, "ending_column": 28}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompensationClaims", "source_mapping": {"start": 1527, "length": 3674, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164], "starting_column": 1, "ending_column": 2}}}}], "description": "CompensationClaims.adjuster (contracts/compensation/CompensationClaims.sol#43) should be immutable \n", "markdown": "[CompensationClaims.adjuster](contracts/compensation/CompensationClaims.sol#L43) should be immutable \n", "first_markdown_element": "contracts/compensation/CompensationClaims.sol#L43", "id": "6096d2df64fc09f12045506f6c33f0ab738f89c635ce3f9bca28d2993054310f", "check": "immutable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "token", "source_mapping": {"start": 1604, "length": 20, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [44], "starting_column": 5, "ending_column": 25}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompensationClaims", "source_mapping": {"start": 1527, "length": 3674, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164], "starting_column": 1, "ending_column": 2}}}}], "description": "CompensationClaims.token (contracts/compensation/CompensationClaims.sol#44) should be immutable \n", "markdown": "[CompensationClaims.token](contracts/compensation/CompensationClaims.sol#L44) should be immutable \n", "first_markdown_element": "contracts/compensation/CompensationClaims.sol#L44", "id": "8fa24775e2dccefd658d6fc197c9fc4dc75a17bae8289f947b6be9dc53595881", "check": "immutable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "function", "name": "constructor", "source_mapping": {"start": 849, "length": 231, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [24, 25, 26, 27, 28, 29, 30], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OETHZapper", "source_mapping": {"start": 288, "length": 2569, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81], "starting_column": 1, "ending_column": 2}}, "signature": "constructor(address,address)"}}, {"type": "node", "name": "weth.approve(address(_vault),type()(uint256).max)", "source_mapping": {"start": 965, "length": 48, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [28], "starting_column": 9, "ending_column": 57}, "type_specific_fields": {"parent": {"type": "function", "name": "constructor", "source_mapping": {"start": 849, "length": 231, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [24, 25, 26, 27, 28, 29, 30], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OETHZapper", "source_mapping": {"start": 288, "length": 2569, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81], "starting_column": 1, "ending_column": 2}}, "signature": "constructor(address,address)"}}}}], "description": "OETHZapper.constructor(address,address) (contracts/vault/OETHZapper.sol#24-30) ignores return value by weth.approve(address(_vault),type()(uint256).max) (contracts/vault/OETHZapper.sol#28)\n", "markdown": "[OETHZapper.constructor(address,address)](contracts/vault/OETHZapper.sol#L24-L30) ignores return value by [weth.approve(address(_vault),type()(uint256).max)](contracts/vault/OETHZapper.sol#L28)\n", "first_markdown_element": "contracts/vault/OETHZapper.sol#L24-L30", "id": "460275d8e7852760f596536253db6ec4738ca77745d9b5a38a289cbde2d9384c", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "constructor", "source_mapping": {"start": 849, "length": 231, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [24, 25, 26, 27, 28, 29, 30], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OETHZapper", "source_mapping": {"start": 288, "length": 2569, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81], "starting_column": 1, "ending_column": 2}}, "signature": "constructor(address,address)"}}, {"type": "node", "name": "frxeth.approve(address(_vault),type()(uint256).max)", "source_mapping": {"start": 1023, "length": 50, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [29], "starting_column": 9, "ending_column": 59}, "type_specific_fields": {"parent": {"type": "function", "name": "constructor", "source_mapping": {"start": 849, "length": 231, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [24, 25, 26, 27, 28, 29, 30], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OETHZapper", "source_mapping": {"start": 288, "length": 2569, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81], "starting_column": 1, "ending_column": 2}}, "signature": "constructor(address,address)"}}}}], "description": "OETHZapper.constructor(address,address) (contracts/vault/OETHZapper.sol#24-30) ignores return value by frxeth.approve(address(_vault),type()(uint256).max) (contracts/vault/OETHZapper.sol#29)\n", "markdown": "[OETHZapper.constructor(address,address)](contracts/vault/OETHZapper.sol#L24-L30) ignores return value by [frxeth.approve(address(_vault),type()(uint256).max)](contracts/vault/OETHZapper.sol#L29)\n", "first_markdown_element": "contracts/vault/OETHZapper.sol#L24-L30", "id": "602e23c82c5e4d9f8dc3e9ee61327d4e9d8fb09d886a291dc7f89562e7ac7586", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "depositSFRXETH", "source_mapping": {"start": 1917, "length": 274, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [58, 59, 60, 61, 62, 63, 64, 65], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OETHZapper", "source_mapping": {"start": 288, "length": 2569, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81], "starting_column": 1, "ending_column": 2}}, "signature": "depositSFRXETH(uint256,uint256)"}}, {"type": "node", "name": "sfrxeth.redeem(amount,address(this),msg.sender)", "source_mapping": {"start": 2031, "length": 49, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [62], "starting_column": 9, "ending_column": 58}, "type_specific_fields": {"parent": {"type": "function", "name": "depositSFRXETH", "source_mapping": {"start": 1917, "length": 274, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [58, 59, 60, 61, 62, 63, 64, 65], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OETHZapper", "source_mapping": {"start": 288, "length": 2569, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81], "starting_column": 1, "ending_column": 2}}, "signature": "depositSFRXETH(uint256,uint256)"}}}}], "description": "OETHZapper.depositSFRXETH(uint256,uint256) (contracts/vault/OETHZapper.sol#58-65) ignores return value by sfrxeth.redeem(amount,address(this),msg.sender) (contracts/vault/OETHZapper.sol#62)\n", "markdown": "[OETHZapper.depositSFRXETH(uint256,uint256)](contracts/vault/OETHZapper.sol#L58-L65) ignores return value by [sfrxeth.redeem(amount,address(this),msg.sender)](contracts/vault/OETHZapper.sol#L62)\n", "first_markdown_element": "contracts/vault/OETHZapper.sol#L58-L65", "id": "ad9cb44f03282639ae56103acb1e9e5014d0d451f5dcb7d2184c1b6c13d855f2", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "constructor", "source_mapping": {"start": 782, "length": 231, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OETHZapper", "source_mapping": {"start": 288, "length": 1735, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57], "starting_column": 1, "ending_column": 2}}, "signature": "constructor(address,address)"}}, {"type": "node", "name": "weth.approve(address(_vault),type()(uint256).max)", "source_mapping": {"start": 898, "length": 48, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [25], "starting_column": 9, "ending_column": 57}, "type_specific_fields": {"parent": {"type": "function", "name": "constructor", "source_mapping": {"start": 782, "length": 231, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OETHZapper", "source_mapping": {"start": 288, "length": 1735, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57], "starting_column": 1, "ending_column": 2}}, "signature": "constructor(address,address)"}}}}], "description": "OETHZapper.constructor(address,address) (contracts/vault/OETHZapper.sol#21-27) ignores return value by weth.approve(address(_vault),type()(uint256).max) (contracts/vault/OETHZapper.sol#25)\n", "markdown": "[OETHZapper.constructor(address,address)](contracts/vault/OETHZapper.sol#L21-L27) ignores return value by [weth.approve(address(_vault),type()(uint256).max)](contracts/vault/OETHZapper.sol#L25)\n", "first_markdown_element": "contracts/vault/OETHZapper.sol#L21-L27", "id": "2904e03fb2afa9650ab71131640fe730dd3c271bfbb0fd4e11b13f0169ac5cdd", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "constructor", "source_mapping": {"start": 782, "length": 231, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OETHZapper", "source_mapping": {"start": 288, "length": 1735, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57], "starting_column": 1, "ending_column": 2}}, "signature": "constructor(address,address)"}}, {"type": "node", "name": "frxeth.approve(address(_vault),type()(uint256).max)", "source_mapping": {"start": 956, "length": 50, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [26], "starting_column": 9, "ending_column": 59}, "type_specific_fields": {"parent": {"type": "function", "name": "constructor", "source_mapping": {"start": 782, "length": 231, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OETHZapper", "source_mapping": {"start": 288, "length": 1735, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57], "starting_column": 1, "ending_column": 2}}, "signature": "constructor(address,address)"}}}}], "description": "OETHZapper.constructor(address,address) (contracts/vault/OETHZapper.sol#21-27) ignores return value by frxeth.approve(address(_vault),type()(uint256).max) (contracts/vault/OETHZapper.sol#26)\n", "markdown": "[OETHZapper.constructor(address,address)](contracts/vault/OETHZapper.sol#L21-L27) ignores return value by [frxeth.approve(address(_vault),type()(uint256).max)](contracts/vault/OETHZapper.sol#L26)\n", "first_markdown_element": "contracts/vault/OETHZapper.sol#L21-L27", "id": "15b258e120fd421efd1ea15d8572ec122239b4431c578c7cc72318a969319597", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "depositSFRXETH", "source_mapping": {"start": 1331, "length": 274, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [40, 41, 42, 43, 44, 45, 46, 47], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OETHZapper", "source_mapping": {"start": 288, "length": 1735, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57], "starting_column": 1, "ending_column": 2}}, "signature": "depositSFRXETH(uint256,uint256)"}}, {"type": "node", "name": "sfrxeth.redeem(amount,address(this),msg.sender)", "source_mapping": {"start": 1445, "length": 49, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [44], "starting_column": 9, "ending_column": 58}, "type_specific_fields": {"parent": {"type": "function", "name": "depositSFRXETH", "source_mapping": {"start": 1331, "length": 274, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [40, 41, 42, 43, 44, 45, 46, 47], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OETHZapper", "source_mapping": {"start": 288, "length": 1735, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57], "starting_column": 1, "ending_column": 2}}, "signature": "depositSFRXETH(uint256,uint256)"}}}}], "description": "OETHZapper.depositSFRXETH(uint256,uint256) (contracts/vault/OETHZapper.sol#40-47) ignores return value by sfrxeth.redeem(amount,address(this),msg.sender) (contracts/vault/OETHZapper.sol#44)\n", "markdown": "[OETHZapper.depositSFRXETH(uint256,uint256)](contracts/vault/OETHZapper.sol#L40-L47) ignores return value by [sfrxeth.redeem(amount,address(this),msg.sender)](contracts/vault/OETHZapper.sol#L44)\n", "first_markdown_element": "contracts/vault/OETHZapper.sol#L40-L47", "id": "3246dfb4384082977afe4b276459e86813a51a7fe4df6333e08dee5ee1b03c0c", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "assets", "source_mapping": {"start": 2394, "length": 41, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [61], "starting_column": 5, "ending_column": 46}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 828, "length": 4640, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146], "starting_column": 1, "ending_column": 2}}}}, {"type": "function", "name": "mint", "source_mapping": {"start": 2178, "length": 1436, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "mint(address,uint256,uint256)"}}, {"type": "function", "name": "isSupportedAsset", "source_mapping": {"start": 22648, "length": 121, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [627, 628, 629], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "isSupportedAsset(address)"}}, {"type": "function", "name": "_toUnits", "source_mapping": {"start": 23346, "length": 597, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "_toUnits(uint256,address)"}}, {"type": "function", "name": "_toUnitPrice", "source_mapping": {"start": 23949, "length": 573, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "_toUnitPrice(uint256,address)"}}], "description": "VaultStorage.assets (contracts/vault/VaultStorage.sol#61) is never initialized. It is used in:\n\t- VaultCore.mint(address,uint256,uint256) (contracts/vault/VaultCore.sol#66-107)\n\t- VaultCore.isSupportedAsset(address) (contracts/vault/VaultCore.sol#627-629)\n\t- VaultCore._toUnits(uint256,address) (contracts/vault/VaultCore.sol#646-661)\n\t- VaultCore._toUnitPrice(uint256,address) (contracts/vault/VaultCore.sol#663-678)\n", "markdown": "[VaultStorage.assets](contracts/vault/VaultStorage.sol#L61) is never initialized. It is used in:\n\t- [VaultCore.mint(address,uint256,uint256)](contracts/vault/VaultCore.sol#L66-L107)\n\t- [VaultCore.isSupportedAsset(address)](contracts/vault/VaultCore.sol#L627-L629)\n\t- [VaultCore._toUnits(uint256,address)](contracts/vault/VaultCore.sol#L646-L661)\n\t- [VaultCore._toUnitPrice(uint256,address)](contracts/vault/VaultCore.sol#L663-L678)\n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L61", "id": "c860938e159ea26b593c250740cbaa2024ab5c9ac0d6205f97e9af6dac87675f", "check": "uninitialized-state", "impact": "High", "confidence": "High"}, {"elements": [{"type": "variable", "name": "allAssets", "source_mapping": {"start": 2441, "length": 28, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [62], "starting_column": 5, "ending_column": 33}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 828, "length": 4640, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146], "starting_column": 1, "ending_column": 2}}}}, {"type": "function", "name": "_redeem", "source_mapping": {"start": 5763, "length": 2485, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "_redeem(uint256,uint256)"}}, {"type": "function", "name": "_allocate", "source_mapping": {"start": 10672, "length": 2860, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "_allocate()"}}, {"type": "function", "name": "_totalValueInVault", "source_mapping": {"start": 15676, "length": 356, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [432, 433, 434, 435, 436, 437, 438, 439, 440], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "_totalValueInVault()"}}, {"type": "function", "name": "_totalValueInStrategy", "source_mapping": {"start": 16603, "length": 505, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "_totalValueInStrategy(address)"}}, {"type": "function", "name": "_calculateRedeemOutputs", "source_mapping": {"start": 18727, "length": 3082, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "_calculateRedeemOutputs(uint256)"}}, {"type": "function", "name": "getAssetCount", "source_mapping": {"start": 22013, "length": 95, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [602, 603, 604], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "getAssetCount()"}}, {"type": "function", "name": "getAllAssets", "source_mapping": {"start": 22178, "length": 98, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [609, 610, 611], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "getAllAssets()"}}], "description": "VaultStorage.allAssets (contracts/vault/VaultStorage.sol#62) is never initialized. It is used in:\n\t- VaultCore._redeem(uint256,uint256) (contracts/vault/VaultCore.sol#169-233)\n\t- VaultCore._allocate() (contracts/vault/VaultCore.sol#301-369)\n\t- VaultCore._totalValueInVault() (contracts/vault/VaultCore.sol#432-440)\n\t- VaultCore._totalValueInStrategy(address) (contracts/vault/VaultCore.sol#457-471)\n\t- VaultCore._calculateRedeemOutputs(uint256) (contracts/vault/VaultCore.sol#522-593)\n\t- VaultCore.getAssetCount() (contracts/vault/VaultCore.sol#602-604)\n\t- VaultCore.getAllAssets() (contracts/vault/VaultCore.sol#609-611)\n", "markdown": "[VaultStorage.allAssets](contracts/vault/VaultStorage.sol#L62) is never initialized. It is used in:\n\t- [VaultCore._redeem(uint256,uint256)](contracts/vault/VaultCore.sol#L169-L233)\n\t- [VaultCore._allocate()](contracts/vault/VaultCore.sol#L301-L369)\n\t- [VaultCore._totalValueInVault()](contracts/vault/VaultCore.sol#L432-L440)\n\t- [VaultCore._totalValueInStrategy(address)](contracts/vault/VaultCore.sol#L457-L471)\n\t- [VaultCore._calculateRedeemOutputs(uint256)](contracts/vault/VaultCore.sol#L522-L593)\n\t- [VaultCore.getAssetCount()](contracts/vault/VaultCore.sol#L602-L604)\n\t- [VaultCore.getAllAssets()](contracts/vault/VaultCore.sol#L609-L611)\n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L62", "id": "e730fe429679f7811e61698e718568e8a56bd48136d661a5573f979234e6996c", "check": "uninitialized-state", "impact": "High", "confidence": "High"}, {"elements": [{"type": "variable", "name": "allStrategies", "source_mapping": {"start": 2688, "length": 32, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [70], "starting_column": 5, "ending_column": 37}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 828, "length": 4640, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146], "starting_column": 1, "ending_column": 2}}}}, {"type": "function", "name": "_totalValueInStrategies", "source_mapping": {"start": 16181, "length": 223, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [446, 447, 448, 449, 450], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "_totalValueInStrategies()"}}, {"type": "function", "name": "_checkBalance", "source_mapping": {"start": 17619, "length": 486, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "_checkBalance(address)"}}, {"type": "function", "name": "getStrategyCount", "source_mapping": {"start": 22363, "length": 104, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [616, 617, 618], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "getStrategyCount()"}}, {"type": "function", "name": "getAllStrategies", "source_mapping": {"start": 22536, "length": 106, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [623, 624, 625], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "getAllStrategies()"}}], "description": "VaultStorage.allStrategies (contracts/vault/VaultStorage.sol#70) is never initialized. It is used in:\n\t- VaultCore._totalValueInStrategies() (contracts/vault/VaultCore.sol#446-450)\n\t- VaultCore._checkBalance(address) (contracts/vault/VaultCore.sol#487-501)\n\t- VaultCore.getStrategyCount() (contracts/vault/VaultCore.sol#616-618)\n\t- VaultCore.getAllStrategies() (contracts/vault/VaultCore.sol#623-625)\n", "markdown": "[VaultStorage.allStrategies](contracts/vault/VaultStorage.sol#L70) is never initialized. It is used in:\n\t- [VaultCore._totalValueInStrategies()](contracts/vault/VaultCore.sol#L446-L450)\n\t- [VaultCore._checkBalance(address)](contracts/vault/VaultCore.sol#L487-L501)\n\t- [VaultCore.getStrategyCount()](contracts/vault/VaultCore.sol#L616-L618)\n\t- [VaultCore.getAllStrategies()](contracts/vault/VaultCore.sol#L623-L625)\n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L70", "id": "777cbcb013e313a3fd0021436d35e92824a94e210c1611ee051fc5d399d6661c", "check": "uninitialized-state", "impact": "High", "confidence": "High"}, {"elements": [{"type": "variable", "name": "priceProvider", "source_mapping": {"start": 2780, "length": 28, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [73], "starting_column": 5, "ending_column": 33}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 828, "length": 4640, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146], "starting_column": 1, "ending_column": 2}}}}, {"type": "function", "name": "mint", "source_mapping": {"start": 2178, "length": 1436, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "mint(address,uint256,uint256)"}}, {"type": "function", "name": "_calculateRedeemOutputs", "source_mapping": {"start": 18727, "length": 3082, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "_calculateRedeemOutputs(uint256)"}}], "description": "VaultStorage.priceProvider (contracts/vault/VaultStorage.sol#73) is never initialized. It is used in:\n\t- VaultCore.mint(address,uint256,uint256) (contracts/vault/VaultCore.sol#66-107)\n\t- VaultCore._calculateRedeemOutputs(uint256) (contracts/vault/VaultCore.sol#522-593)\n", "markdown": "[VaultStorage.priceProvider](contracts/vault/VaultStorage.sol#L73) is never initialized. It is used in:\n\t- [VaultCore.mint(address,uint256,uint256)](contracts/vault/VaultCore.sol#L66-L107)\n\t- [VaultCore._calculateRedeemOutputs(uint256)](contracts/vault/VaultCore.sol#L522-L593)\n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L73", "id": "eb7c2db1064787af6f239823c6b9223ba83a523396f8c7dc61c479282af97886", "check": "uninitialized-state", "impact": "High", "confidence": "High"}, {"elements": [{"type": "variable", "name": "redeemFeeBps", "source_mapping": {"start": 2949, "length": 27, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [78], "starting_column": 5, "ending_column": 32}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 828, "length": 4640, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146], "starting_column": 1, "ending_column": 2}}}}, {"type": "function", "name": "_calculateRedeemOutputs", "source_mapping": {"start": 18727, "length": 3082, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "_calculateRedeemOutputs(uint256)"}}], "description": "VaultStorage.redeemFeeBps (contracts/vault/VaultStorage.sol#78) is never initialized. It is used in:\n\t- VaultCore._calculateRedeemOutputs(uint256) (contracts/vault/VaultCore.sol#522-593)\n", "markdown": "[VaultStorage.redeemFeeBps](contracts/vault/VaultStorage.sol#L78) is never initialized. It is used in:\n\t- [VaultCore._calculateRedeemOutputs(uint256)](contracts/vault/VaultCore.sol#L522-L593)\n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L78", "id": "c4819c8bb26576b24a1992a0ece73900c1b258ae9f166389ef2521f675df5cb1", "check": "uninitialized-state", "impact": "High", "confidence": "High"}, {"elements": [{"type": "variable", "name": "vaultBuffer", "source_mapping": {"start": 3052, "length": 26, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [80], "starting_column": 5, "ending_column": 31}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 828, "length": 4640, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146], "starting_column": 1, "ending_column": 2}}}}, {"type": "function", "name": "_allocate", "source_mapping": {"start": 10672, "length": 2860, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "_allocate()"}}], "description": "VaultStorage.vaultBuffer (contracts/vault/VaultStorage.sol#80) is never initialized. It is used in:\n\t- VaultCore._allocate() (contracts/vault/VaultCore.sol#301-369)\n", "markdown": "[VaultStorage.vaultBuffer](contracts/vault/VaultStorage.sol#L80) is never initialized. It is used in:\n\t- [VaultCore._allocate()](contracts/vault/VaultCore.sol#L301-L369)\n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L80", "id": "7147ba0fbcdb532f72f8a1425c5779a2caf2d432ef22a51a9c541b90d6da121c", "check": "uninitialized-state", "impact": "High", "confidence": "High"}, {"elements": [{"type": "variable", "name": "autoAllocateThreshold", "source_mapping": {"start": 3157, "length": 36, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [82], "starting_column": 5, "ending_column": 41}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 828, "length": 4640, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146], "starting_column": 1, "ending_column": 2}}}}, {"type": "function", "name": "mint", "source_mapping": {"start": 2178, "length": 1436, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "mint(address,uint256,uint256)"}}], "description": "VaultStorage.autoAllocateThreshold (contracts/vault/VaultStorage.sol#82) is never initialized. It is used in:\n\t- VaultCore.mint(address,uint256,uint256) (contracts/vault/VaultCore.sol#66-107)\n", "markdown": "[VaultStorage.autoAllocateThreshold](contracts/vault/VaultStorage.sol#L82) is never initialized. It is used in:\n\t- [VaultCore.mint(address,uint256,uint256)](contracts/vault/VaultCore.sol#L66-L107)\n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L82", "id": "3d9c26c30d04bc19d1bc2436186d32a82dbdee2c98be4833dff1f7fefa80858d", "check": "uninitialized-state", "impact": "High", "confidence": "High"}, {"elements": [{"type": "variable", "name": "rebaseThreshold", "source_mapping": {"start": 3264, "length": 30, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [84], "starting_column": 5, "ending_column": 35}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 828, "length": 4640, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146], "starting_column": 1, "ending_column": 2}}}}, {"type": "function", "name": "mint", "source_mapping": {"start": 2178, "length": 1436, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "mint(address,uint256,uint256)"}}, {"type": "function", "name": "mintForStrategy", "source_mapping": {"start": 4345, "length": 813, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "mintForStrategy(uint256)"}}, {"type": "function", "name": "_redeem", "source_mapping": {"start": 5763, "length": 2485, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "_redeem(uint256,uint256)"}}, {"type": "function", "name": "burnForStrategy", "source_mapping": {"start": 8974, "length": 951, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "burnForStrategy(uint256)"}}], "description": "VaultStorage.rebaseThreshold (contracts/vault/VaultStorage.sol#84) is never initialized. It is used in:\n\t- VaultCore.mint(address,uint256,uint256) (contracts/vault/VaultCore.sol#66-107)\n\t- VaultCore.mintForStrategy(uint256) (contracts/vault/VaultCore.sol#122-147)\n\t- VaultCore._redeem(uint256,uint256) (contracts/vault/VaultCore.sol#169-233)\n\t- VaultCore.burnForStrategy(uint256) (contracts/vault/VaultCore.sol#248-275)\n", "markdown": "[VaultStorage.rebaseThreshold](contracts/vault/VaultStorage.sol#L84) is never initialized. It is used in:\n\t- [VaultCore.mint(address,uint256,uint256)](contracts/vault/VaultCore.sol#L66-L107)\n\t- [VaultCore.mintForStrategy(uint256)](contracts/vault/VaultCore.sol#L122-L147)\n\t- [VaultCore._redeem(uint256,uint256)](contracts/vault/VaultCore.sol#L169-L233)\n\t- [VaultCore.burnForStrategy(uint256)](contracts/vault/VaultCore.sol#L248-L275)\n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L84", "id": "b8efcc08277c777ff50a11fc931031018cad1a54978f03183217cd13dd183093", "check": "uninitialized-state", "impact": "High", "confidence": "High"}, {"elements": [{"type": "variable", "name": "oUSD", "source_mapping": {"start": 3301, "length": 18, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [86], "starting_column": 5, "ending_column": 23}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 828, "length": 4640, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146], "starting_column": 1, "ending_column": 2}}}}, {"type": "function", "name": "mint", "source_mapping": {"start": 2178, "length": 1436, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "mint(address,uint256,uint256)"}}, {"type": "function", "name": "mintForStrategy", "source_mapping": {"start": 4345, "length": 813, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "mintForStrategy(uint256)"}}, {"type": "function", "name": "_redeem", "source_mapping": {"start": 5763, "length": 2485, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "_redeem(uint256,uint256)"}}, {"type": "function", "name": "burnForStrategy", "source_mapping": {"start": 8974, "length": 951, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "burnForStrategy(uint256)"}}, {"type": "function", "name": "redeemAll", "source_mapping": {"start": 10087, "length": 190, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [281, 282, 283, 284, 285, 286, 287], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "redeemAll(uint256)"}}, {"type": "function", "name": "_rebase", "source_mapping": {"start": 13976, "length": 953, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [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], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "_rebase()"}}], "description": "VaultStorage.oUSD (contracts/vault/VaultStorage.sol#86) is never initialized. It is used in:\n\t- VaultCore.mint(address,uint256,uint256) (contracts/vault/VaultCore.sol#66-107)\n\t- VaultCore.mintForStrategy(uint256) (contracts/vault/VaultCore.sol#122-147)\n\t- VaultCore._redeem(uint256,uint256) (contracts/vault/VaultCore.sol#169-233)\n\t- VaultCore.burnForStrategy(uint256) (contracts/vault/VaultCore.sol#248-275)\n\t- VaultCore.redeemAll(uint256) (contracts/vault/VaultCore.sol#281-287)\n\t- VaultCore._rebase() (contracts/vault/VaultCore.sol#384-408)\n", "markdown": "[VaultStorage.oUSD](contracts/vault/VaultStorage.sol#L86) is never initialized. It is used in:\n\t- [VaultCore.mint(address,uint256,uint256)](contracts/vault/VaultCore.sol#L66-L107)\n\t- [VaultCore.mintForStrategy(uint256)](contracts/vault/VaultCore.sol#L122-L147)\n\t- [VaultCore._redeem(uint256,uint256)](contracts/vault/VaultCore.sol#L169-L233)\n\t- [VaultCore.burnForStrategy(uint256)](contracts/vault/VaultCore.sol#L248-L275)\n\t- [VaultCore.redeemAll(uint256)](contracts/vault/VaultCore.sol#L281-L287)\n\t- [VaultCore._rebase()](contracts/vault/VaultCore.sol#L384-L408)\n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L86", "id": "df26918b8bdd621ec118d2015bb8578817d734b6d3c33937967b164cadc2ace0", "check": "uninitialized-state", "impact": "High", "confidence": "High"}, {"elements": [{"type": "variable", "name": "maxSupplyDiff", "source_mapping": {"start": 4028, "length": 28, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [106], "starting_column": 5, "ending_column": 33}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 828, "length": 4640, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146], "starting_column": 1, "ending_column": 2}}}}, {"type": "function", "name": "_redeem", "source_mapping": {"start": 5763, "length": 2485, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "_redeem(uint256,uint256)"}}], "description": "VaultStorage.maxSupplyDiff (contracts/vault/VaultStorage.sol#106) is never initialized. It is used in:\n\t- VaultCore._redeem(uint256,uint256) (contracts/vault/VaultCore.sol#169-233)\n", "markdown": "[VaultStorage.maxSupplyDiff](contracts/vault/VaultStorage.sol#L106) is never initialized. It is used in:\n\t- [VaultCore._redeem(uint256,uint256)](contracts/vault/VaultCore.sol#L169-L233)\n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L106", "id": "6a3430804bec9d029a57ae03c02e8a40c310203865799000bf50016777b36f8f", "check": "uninitialized-state", "impact": "High", "confidence": "High"}, {"elements": [{"type": "variable", "name": "decimalsCache", "source_mapping": {"start": 4736, "length": 50, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [124], "starting_column": 5, "ending_column": 55}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 828, "length": 4497, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141], "starting_column": 1, "ending_column": 2}}}}, {"type": "function", "name": "_getDecimals", "source_mapping": {"start": 23780, "length": 204, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [668, 669, 670, 671, 672], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 987, "length": 24439, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717], "starting_column": 1, "ending_column": 2}}, "signature": "_getDecimals(address)"}}], "description": "VaultStorage.decimalsCache (contracts/vault/VaultStorage.sol#124) is never initialized. It is used in:\n\t- VaultCore._getDecimals(address) (contracts/vault/VaultCore.sol#668-672)\n", "markdown": "[VaultStorage.decimalsCache](contracts/vault/VaultStorage.sol#L124) is never initialized. It is used in:\n\t- [VaultCore._getDecimals(address)](contracts/vault/VaultCore.sol#L668-L672)\n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L124", "id": "ae957b4f96eb11ddea5ee4d030d41472ceee6954f34cde52618144ab869fa8c3", "check": "uninitialized-state", "impact": "High", "confidence": "High"}, {"elements": [{"type": "variable", "name": "assets", "source_mapping": {"start": 2283, "length": 41, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [57], "starting_column": 5, "ending_column": 46}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 828, "length": 3795, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126], "starting_column": 1, "ending_column": 2}}}}, {"type": "function", "name": "mint", "source_mapping": {"start": 1716, "length": 1511, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 874, "length": 22316, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639], "starting_column": 1, "ending_column": 2}}, "signature": "mint(address,uint256,uint256)"}}, {"type": "function", "name": "isSupportedAsset", "source_mapping": {"start": 21910, "length": 121, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [599, 600, 601], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 874, "length": 22316, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639], "starting_column": 1, "ending_column": 2}}, "signature": "isSupportedAsset(address)"}}], "description": "VaultStorage.assets (contracts/vault/VaultStorage.sol#57) is never initialized. It is used in:\n\t- VaultCore.mint(address,uint256,uint256) (contracts/vault/VaultCore.sol#53-97)\n\t- VaultCore.isSupportedAsset(address) (contracts/vault/VaultCore.sol#599-601)\n", "markdown": "[VaultStorage.assets](contracts/vault/VaultStorage.sol#L57) is never initialized. It is used in:\n\t- [VaultCore.mint(address,uint256,uint256)](contracts/vault/VaultCore.sol#L53-L97)\n\t- [VaultCore.isSupportedAsset(address)](contracts/vault/VaultCore.sol#L599-L601)\n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L57", "id": "6a182c24e91d1dd53b0b1ef0dab5f77981ebaf050bd25c19b9cca70afaf18e67", "check": "uninitialized-state", "impact": "High", "confidence": "High"}, {"elements": [{"type": "variable", "name": "_decimals", "source_mapping": {"start": 393, "length": 23, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_relative": "contracts/token/OUSDResolutionUpgrade.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_short": "contracts/token/OUSDResolutionUpgrade.sol", "is_dependency": false, "lines": [19], "starting_column": 5, "ending_column": 28}, "type_specific_fields": {"parent": {"type": "contract", "name": "OUSDResolutionUpgrade", "source_mapping": {"start": 25, "length": 4062, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_relative": "contracts/token/OUSDResolutionUpgrade.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_short": "contracts/token/OUSDResolutionUpgrade.sol", "is_dependency": false, "lines": [3, 4, 5, 6, 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, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130], "starting_column": 1, "ending_column": 2}}}}], "description": "OUSDResolutionUpgrade._decimals (contracts/token/OUSDResolutionUpgrade.sol#19) should be constant\n", "markdown": "[OUSDResolutionUpgrade._decimals](contracts/token/OUSDResolutionUpgrade.sol#L19) should be constant\n", "first_markdown_element": "contracts/token/OUSDResolutionUpgrade.sol#L19", "id": "c6b2c8888913a809e3344ed0dee21191412ae3601896db9c573f735f6c3d7a8a", "check": "constable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "_name", "source_mapping": {"start": 339, "length": 20, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_relative": "contracts/token/OUSDResolutionUpgrade.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_short": "contracts/token/OUSDResolutionUpgrade.sol", "is_dependency": false, "lines": [17], "starting_column": 5, "ending_column": 25}, "type_specific_fields": {"parent": {"type": "contract", "name": "OUSDResolutionUpgrade", "source_mapping": {"start": 25, "length": 4062, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_relative": "contracts/token/OUSDResolutionUpgrade.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_short": "contracts/token/OUSDResolutionUpgrade.sol", "is_dependency": false, "lines": [3, 4, 5, 6, 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, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130], "starting_column": 1, "ending_column": 2}}}}], "description": "OUSDResolutionUpgrade._name (contracts/token/OUSDResolutionUpgrade.sol#17) should be constant\n", "markdown": "[OUSDResolutionUpgrade._name](contracts/token/OUSDResolutionUpgrade.sol#L17) should be constant\n", "first_markdown_element": "contracts/token/OUSDResolutionUpgrade.sol#L17", "id": "6956191c111bc7668de81941132c1a31576d2af9cfae5034646c97388cdec653", "check": "constable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "_symbol", "source_mapping": {"start": 365, "length": 22, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_relative": "contracts/token/OUSDResolutionUpgrade.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_short": "contracts/token/OUSDResolutionUpgrade.sol", "is_dependency": false, "lines": [18], "starting_column": 5, "ending_column": 27}, "type_specific_fields": {"parent": {"type": "contract", "name": "OUSDResolutionUpgrade", "source_mapping": {"start": 25, "length": 4062, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_relative": "contracts/token/OUSDResolutionUpgrade.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_short": "contracts/token/OUSDResolutionUpgrade.sol", "is_dependency": false, "lines": [3, 4, 5, 6, 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, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130], "starting_column": 1, "ending_column": 2}}}}], "description": "OUSDResolutionUpgrade._symbol (contracts/token/OUSDResolutionUpgrade.sol#18) should be constant\n", "markdown": "[OUSDResolutionUpgrade._symbol](contracts/token/OUSDResolutionUpgrade.sol#L18) should be constant\n", "first_markdown_element": "contracts/token/OUSDResolutionUpgrade.sol#L18", "id": "4a6b27b5189d0409bd8717ec6416071376f25ba75d9a3fcb2c617036aa554257", "check": "constable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "_totalSupply", "source_mapping": {"start": 510, "length": 27, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_relative": "contracts/token/OUSDResolutionUpgrade.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_short": "contracts/token/OUSDResolutionUpgrade.sol", "is_dependency": false, "lines": [23], "starting_column": 5, "ending_column": 32}, "type_specific_fields": {"parent": {"type": "contract", "name": "OUSDResolutionUpgrade", "source_mapping": {"start": 25, "length": 4062, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_relative": "contracts/token/OUSDResolutionUpgrade.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_short": "contracts/token/OUSDResolutionUpgrade.sol", "is_dependency": false, "lines": [3, 4, 5, 6, 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, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130], "starting_column": 1, "ending_column": 2}}}}], "description": "OUSDResolutionUpgrade._totalSupply (contracts/token/OUSDResolutionUpgrade.sol#23) should be constant\n", "markdown": "[OUSDResolutionUpgrade._totalSupply](contracts/token/OUSDResolutionUpgrade.sol#L23) should be constant\n", "first_markdown_element": "contracts/token/OUSDResolutionUpgrade.sol#L23", "id": "1658e506f1e0828cb824d099c91bb2a569de15dbd05bdc7f11b98a69a98f8638", "check": "constable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "initialized", "source_mapping": {"start": 166, "length": 24, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_relative": "contracts/token/OUSDResolutionUpgrade.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_short": "contracts/token/OUSDResolutionUpgrade.sol", "is_dependency": false, "lines": [11], "starting_column": 5, "ending_column": 29}, "type_specific_fields": {"parent": {"type": "contract", "name": "OUSDResolutionUpgrade", "source_mapping": {"start": 25, "length": 4062, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_relative": "contracts/token/OUSDResolutionUpgrade.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_short": "contracts/token/OUSDResolutionUpgrade.sol", "is_dependency": false, "lines": [3, 4, 5, 6, 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, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130], "starting_column": 1, "ending_column": 2}}}}], "description": "OUSDResolutionUpgrade.initialized (contracts/token/OUSDResolutionUpgrade.sol#11) should be constant\n", "markdown": "[OUSDResolutionUpgrade.initialized](contracts/token/OUSDResolutionUpgrade.sol#L11) should be constant\n", "first_markdown_element": "contracts/token/OUSDResolutionUpgrade.sol#L11", "id": "fefc27aa7f63a8fb938914b29bdf6913ea43894d2297e65bc64c63cf5cf82af9", "check": "constable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "initializing", "source_mapping": {"start": 196, "length": 25, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_relative": "contracts/token/OUSDResolutionUpgrade.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_short": "contracts/token/OUSDResolutionUpgrade.sol", "is_dependency": false, "lines": [12], "starting_column": 5, "ending_column": 30}, "type_specific_fields": {"parent": {"type": "contract", "name": "OUSDResolutionUpgrade", "source_mapping": {"start": 25, "length": 4062, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_relative": "contracts/token/OUSDResolutionUpgrade.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_short": "contracts/token/OUSDResolutionUpgrade.sol", "is_dependency": false, "lines": [3, 4, 5, 6, 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, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130], "starting_column": 1, "ending_column": 2}}}}], "description": "OUSDResolutionUpgrade.initializing (contracts/token/OUSDResolutionUpgrade.sol#12) should be constant\n", "markdown": "[OUSDResolutionUpgrade.initializing](contracts/token/OUSDResolutionUpgrade.sol#L12) should be constant\n", "first_markdown_element": "contracts/token/OUSDResolutionUpgrade.sol#L12", "id": "c69133d357c924089ed02bb4dde070a42b4bf6de4c0b65d348e468864973316a", "check": "constable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "nonRebasingSupply", "source_mapping": {"start": 803, "length": 32, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_relative": "contracts/token/OUSDResolutionUpgrade.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_short": "contracts/token/OUSDResolutionUpgrade.sol", "is_dependency": false, "lines": [29], "starting_column": 5, "ending_column": 37}, "type_specific_fields": {"parent": {"type": "contract", "name": "OUSDResolutionUpgrade", "source_mapping": {"start": 25, "length": 4062, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_relative": "contracts/token/OUSDResolutionUpgrade.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_short": "contracts/token/OUSDResolutionUpgrade.sol", "is_dependency": false, "lines": [3, 4, 5, 6, 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, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130], "starting_column": 1, "ending_column": 2}}}}], "description": "OUSDResolutionUpgrade.nonRebasingSupply (contracts/token/OUSDResolutionUpgrade.sol#29) should be constant\n", "markdown": "[OUSDResolutionUpgrade.nonRebasingSupply](contracts/token/OUSDResolutionUpgrade.sol#L29) should be constant\n", "first_markdown_element": "contracts/token/OUSDResolutionUpgrade.sol#L29", "id": "e17fd436e0a604cb7be2d272cdd362338280663a1a0aa613116ea1b3fbe6ebc9", "check": "constable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "vaultAddress", "source_mapping": {"start": 616, "length": 40, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_relative": "contracts/token/OUSDResolutionUpgrade.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_short": "contracts/token/OUSDResolutionUpgrade.sol", "is_dependency": false, "lines": [25], "starting_column": 5, "ending_column": 45}, "type_specific_fields": {"parent": {"type": "contract", "name": "OUSDResolutionUpgrade", "source_mapping": {"start": 25, "length": 4062, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_relative": "contracts/token/OUSDResolutionUpgrade.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_short": "contracts/token/OUSDResolutionUpgrade.sol", "is_dependency": false, "lines": [3, 4, 5, 6, 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, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130], "starting_column": 1, "ending_column": 2}}}}], "description": "OUSDResolutionUpgrade.vaultAddress (contracts/token/OUSDResolutionUpgrade.sol#25) should be constant\n", "markdown": "[OUSDResolutionUpgrade.vaultAddress](contracts/token/OUSDResolutionUpgrade.sol#L25) should be constant\n", "first_markdown_element": "contracts/token/OUSDResolutionUpgrade.sol#L25", "id": "d17c40d13f23171f24f257c05a906ba4f825e300c024fcec7986d2bf6ed00657", "check": "constable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "isUpgraded", "source_mapping": {"start": 1875, "length": 45, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSD.sol", "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [52], "starting_column": 5, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "contract", "name": "OUSD", "source_mapping": {"start": 840, "length": 19113, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSD.sol", "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578], "starting_column": 1, "ending_column": 2}}}}, {"type": "function", "name": "creditsBalanceOfHighres", "source_mapping": {"start": 5205, "length": 322, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSD.sol", "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OUSD", "source_mapping": {"start": 840, "length": 19113, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSD.sol", "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578], "starting_column": 1, "ending_column": 2}}, "signature": "creditsBalanceOfHighres(address)"}}], "description": "OUSD.isUpgraded (contracts/token/OUSD.sol#52) is never initialized. It is used in:\n\t- OUSD.creditsBalanceOfHighres(address) (contracts/token/OUSD.sol#158-172)\n", "markdown": "[OUSD.isUpgraded](contracts/token/OUSD.sol#L52) is never initialized. It is used in:\n\t- [OUSD.creditsBalanceOfHighres(address)](contracts/token/OUSD.sol#L158-L172)\n", "first_markdown_element": "contracts/token/OUSD.sol#L52", "id": "1a9fd10ae49fbf202e5333c123ca53e5ea8614f3f7a5ace5a8e001758b5be263", "check": "uninitialized-state", "impact": "High", "confidence": "High"}, {"elements": [{"type": "function", "name": "scaleBy", "source_mapping": {"start": 781, "length": 288, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/utils/StableMath.sol", "filename_relative": "contracts/utils/StableMath.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/utils/StableMath.sol", "filename_short": "contracts/utils/StableMath.sol", "is_dependency": false, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StableMath", "source_mapping": {"start": 285, "length": 3569, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/utils/StableMath.sol", "filename_relative": "contracts/utils/StableMath.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/utils/StableMath.sol", "filename_short": "contracts/utils/StableMath.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114], "starting_column": 1, "ending_column": 2}}, "signature": "scaleBy(uint256,uint256,uint256)"}}, {"type": "node", "name": "x = x.mul(10 ** (to - from))", "source_mapping": {"start": 936, "length": 26, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/utils/StableMath.sol", "filename_relative": "contracts/utils/StableMath.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/utils/StableMath.sol", "filename_short": "contracts/utils/StableMath.sol", "is_dependency": false, "lines": [33], "starting_column": 13, "ending_column": 39}, "type_specific_fields": {"parent": {"type": "function", "name": "scaleBy", "source_mapping": {"start": 781, "length": 288, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/utils/StableMath.sol", "filename_relative": "contracts/utils/StableMath.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/utils/StableMath.sol", "filename_short": "contracts/utils/StableMath.sol", "is_dependency": false, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StableMath", "source_mapping": {"start": 285, "length": 3569, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/utils/StableMath.sol", "filename_relative": "contracts/utils/StableMath.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/utils/StableMath.sol", "filename_short": "contracts/utils/StableMath.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114], "starting_column": 1, "ending_column": 2}}, "signature": "scaleBy(uint256,uint256,uint256)"}}}}, {"type": "node", "name": "x = x.div(10 ** (from - to))", "source_mapping": {"start": 1008, "length": 26, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/utils/StableMath.sol", "filename_relative": "contracts/utils/StableMath.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/utils/StableMath.sol", "filename_short": "contracts/utils/StableMath.sol", "is_dependency": false, "lines": [35], "starting_column": 13, "ending_column": 39}, "type_specific_fields": {"parent": {"type": "function", "name": "scaleBy", "source_mapping": {"start": 781, "length": 288, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/utils/StableMath.sol", "filename_relative": "contracts/utils/StableMath.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/utils/StableMath.sol", "filename_short": "contracts/utils/StableMath.sol", "is_dependency": false, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StableMath", "source_mapping": {"start": 285, "length": 3569, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/utils/StableMath.sol", "filename_relative": "contracts/utils/StableMath.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/utils/StableMath.sol", "filename_short": "contracts/utils/StableMath.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114], "starting_column": 1, "ending_column": 2}}, "signature": "scaleBy(uint256,uint256,uint256)"}}}}], "description": "StableMath.scaleBy(uint256,uint256,uint256) (contracts/utils/StableMath.sol#27-38) performs a multiplication on the result of a division:\n\t-x = x.mul(10 ** (to - from)) (contracts/utils/StableMath.sol#33)\n\t-x = x.div(10 ** (from - to)) (contracts/utils/StableMath.sol#35)\n", "markdown": "[StableMath.scaleBy(uint256,uint256,uint256)](contracts/utils/StableMath.sol#L27-L38) performs a multiplication on the result of a division:\n\t-[x = x.mul(10 ** (to - from))](contracts/utils/StableMath.sol#L33)\n\t-[x = x.div(10 ** (from - to))](contracts/utils/StableMath.sol#L35)\n", "first_markdown_element": "contracts/utils/StableMath.sol#L27-L38", "id": "b1500b45d44a127aa3729dda962b0f1fad4c4141dfa4fb20f46e1148cf288944", "check": "divide-before-multiply", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "addSwapToken", "source_mapping": {"start": 7974, "length": 644, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultAdmin", "source_mapping": {"start": 527, "length": 18940, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577], "starting_column": 1, "ending_column": 2}}, "signature": "addSwapToken(address)"}}, {"type": "node", "name": "IOracle(priceProvider).price(_addr)", "source_mapping": {"start": 8261, "length": 35, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [243], "starting_column": 9, "ending_column": 44}, "type_specific_fields": {"parent": {"type": "function", "name": "addSwapToken", "source_mapping": {"start": 7974, "length": 644, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultAdmin", "source_mapping": {"start": 527, "length": 18940, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577], "starting_column": 1, "ending_column": 2}}, "signature": "addSwapToken(address)"}}}}], "description": "VaultAdmin.addSwapToken(address) (contracts/vault/VaultAdmin.sol#235-255) ignores return value by IOracle(priceProvider).price(_addr) (contracts/vault/VaultAdmin.sol#243)\n", "markdown": "[VaultAdmin.addSwapToken(address)](contracts/vault/VaultAdmin.sol#L235-L255) ignores return value by [IOracle(priceProvider).price(_addr)](contracts/vault/VaultAdmin.sol#L243)\n", "first_markdown_element": "contracts/vault/VaultAdmin.sol#L235-L255", "id": "62ac1769a2c1d54d7ea6660de35020316e5057588e99010c778d43e01aacf3e2", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "addSwapToken", "source_mapping": {"start": 7510, "length": 644, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultAdmin", "source_mapping": {"start": 527, "length": 18435, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "addSwapToken(address)"}}, {"type": "node", "name": "IOracle(priceProvider).price(_addr)", "source_mapping": {"start": 7797, "length": 35, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [231], "starting_column": 9, "ending_column": 44}, "type_specific_fields": {"parent": {"type": "function", "name": "addSwapToken", "source_mapping": {"start": 7510, "length": 644, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultAdmin", "source_mapping": {"start": 527, "length": 18435, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "addSwapToken(address)"}}}}], "description": "VaultAdmin.addSwapToken(address) (contracts/vault/VaultAdmin.sol#223-243) ignores return value by IOracle(priceProvider).price(_addr) (contracts/vault/VaultAdmin.sol#231)\n", "markdown": "[VaultAdmin.addSwapToken(address)](contracts/vault/VaultAdmin.sol#L223-L243) ignores return value by [IOracle(priceProvider).price(_addr)](contracts/vault/VaultAdmin.sol#L231)\n", "first_markdown_element": "contracts/vault/VaultAdmin.sol#L223-L243", "id": "9c71d10f9809eae2cbece0fe66259b93d8a7423a5a0e5362b2e132b55970c1a9", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_allocate", "source_mapping": {"start": 9273, "length": 4326, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 621, "length": 24503, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686], "starting_column": 1, "ending_column": 2}}, "signature": "_allocate()"}}, {"type": "node", "name": "IVault(address(this)).harvest(allStrategies[i])", "source_mapping": {"start": 10657, "length": 47, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [289], "starting_column": 25, "ending_column": 72}, "type_specific_fields": {"parent": {"type": "function", "name": "_allocate", "source_mapping": {"start": 9273, "length": 4326, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 621, "length": 24503, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686], "starting_column": 1, "ending_column": 2}}, "signature": "_allocate()"}}}}], "description": "VaultCore._allocate() (contracts/vault/VaultCore.sol#266-362) ignores return value by IVault(address(this)).harvest(allStrategies[i]) (contracts/vault/VaultCore.sol#289)\n", "markdown": "[VaultCore._allocate()](contracts/vault/VaultCore.sol#L266-L362) ignores return value by [IVault(address(this)).harvest(allStrategies[i])](contracts/vault/VaultCore.sol#L289)\n", "id": "14738114fda112fc8f37877cd29cc70a2cd815ef7bd1c03a5a0774ec1e219673", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "contract", "name": "InitializableAbstractStrategy", "source_mapping": {"start": 449, "length": 8364, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263], "starting_column": 1, "ending_column": 2}}, {"type": "node", "name": "assetsMapped.push(_asset)", "source_mapping": {"start": 6547, "length": 25, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [189], "starting_column": 9, "ending_column": 34}, "type_specific_fields": {"parent": {"type": "function", "name": "_setPTokenAddress", "source_mapping": {"start": 6231, "length": 438, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "InitializableAbstractStrategy", "source_mapping": {"start": 449, "length": 8364, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263], "starting_column": 1, "ending_column": 2}}, "signature": "_setPTokenAddress(address,address)"}}}}], "description": "InitializableAbstractStrategy (contracts/utils/InitializableAbstractStrategy.sol#11-263) contract sets array length with a user-controlled value:\n\t- assetsMapped.push(_asset) (contracts/utils/InitializableAbstractStrategy.sol#189)\n", "markdown": "[InitializableAbstractStrategy](contracts/utils/InitializableAbstractStrategy.sol#L11-L263) contract sets array length with a user-controlled value:\n\t- [assetsMapped.push(_asset)](contracts/utils/InitializableAbstractStrategy.sol#L189)\n", "id": "381ac16a09532b8a5dfd39a5d7c89b8a098eed32925b60281cbd3b0fcad4f990", "check": "controlled-array-length", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_allocate", "source_mapping": {"start": 9273, "length": 4326, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 621, "length": 24503, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686], "starting_column": 1, "ending_column": 2}}, "signature": "_allocate()"}}, {"type": "node", "name": "IVault(address(this)).harvest(allStrategies[i])", "source_mapping": {"start": 10027, "length": 47, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [278], "starting_column": 21, "ending_column": 68}, "type_specific_fields": {"parent": {"type": "function", "name": "_allocate", "source_mapping": {"start": 9273, "length": 4326, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 621, "length": 24503, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686], "starting_column": 1, "ending_column": 2}}, "signature": "_allocate()"}}}}], "description": "VaultCore._allocate() (contracts/vault/VaultCore.sol#266-362) ignores return value by IVault(address(this)).harvest(allStrategies[i]) (contracts/vault/VaultCore.sol#278)\n", "markdown": "[VaultCore._allocate()](contracts/vault/VaultCore.sol#L266-L362) ignores return value by [IVault(address(this)).harvest(allStrategies[i])](contracts/vault/VaultCore.sol#L278)\n", "id": "7e2dac8db9a46c3c11c5d4b3e04cb5233cb9693607e01c54045f05b7dae4fc76", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "contract", "name": "InitializableAbstractStrategy", "source_mapping": {"start": 392, "length": 8280, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259], "starting_column": 1, "ending_column": 2}}, {"type": "node", "name": "assetsMapped.push(_asset)", "source_mapping": {"start": 6406, "length": 25, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [185], "starting_column": 9, "ending_column": 34}, "type_specific_fields": {"parent": {"type": "function", "name": "_setPTokenAddress", "source_mapping": {"start": 6090, "length": 438, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [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": "InitializableAbstractStrategy", "source_mapping": {"start": 392, "length": 8280, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259], "starting_column": 1, "ending_column": 2}}, "signature": "_setPTokenAddress(address,address)"}}}}], "description": "InitializableAbstractStrategy (contracts/utils/InitializableAbstractStrategy.sol#10-259) contract sets array length with a user-controlled value:\n\t- assetsMapped.push(_asset) (contracts/utils/InitializableAbstractStrategy.sol#185)\n", "markdown": "[InitializableAbstractStrategy](contracts/utils/InitializableAbstractStrategy.sol#L10-L259) contract sets array length with a user-controlled value:\n\t- [assetsMapped.push(_asset)](contracts/utils/InitializableAbstractStrategy.sol#L185)\n", "id": "30b7d9aab47a66b59f74bd13941e813c3b5a5ae6448a3f7679c53e7ddbe332ae", "check": "controlled-array-length", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "contract", "name": "InitializableAbstractStrategy", "source_mapping": {"start": 392, "length": 7885, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249], "starting_column": 1, "ending_column": 2}}, {"type": "node", "name": "assetsMapped.push(_asset)", "source_mapping": {"start": 6011, "length": 25, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [175], "starting_column": 9, "ending_column": 34}, "type_specific_fields": {"parent": {"type": "function", "name": "_setPTokenAddress", "source_mapping": {"start": 5695, "length": 438, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "InitializableAbstractStrategy", "source_mapping": {"start": 392, "length": 7885, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249], "starting_column": 1, "ending_column": 2}}, "signature": "_setPTokenAddress(address,address)"}}}}], "description": "InitializableAbstractStrategy (contracts/utils/InitializableAbstractStrategy.sol#10-249) contract sets array length with a user-controlled value:\n\t- assetsMapped.push(_asset) (contracts/utils/InitializableAbstractStrategy.sol#175)\n", "markdown": "[InitializableAbstractStrategy](contracts/utils/InitializableAbstractStrategy.sol#L10-L249) contract sets array length with a user-controlled value:\n\t- [assetsMapped.push(_asset)](contracts/utils/InitializableAbstractStrategy.sol#L175)\n", "id": "4768a672e113dfcc66a3411dcecbb416a83238a54329eb946079711430f271a2", "check": "controlled-array-length", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_allocate", "source_mapping": {"start": 9261, "length": 3882, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 621, "length": 24145, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678], "starting_column": 1, "ending_column": 2}}, "signature": "_allocate()"}}, {"type": "node", "name": "assetBalance == 0", "source_mapping": {"start": 10940, "length": 17, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [302], "starting_column": 17, "ending_column": 34}, "type_specific_fields": {"parent": {"type": "function", "name": "_allocate", "source_mapping": {"start": 9261, "length": 3882, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 621, "length": 24145, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678], "starting_column": 1, "ending_column": 2}}, "signature": "_allocate()"}}}}], "description": "VaultCore._allocate() (contracts/vault/VaultCore.sol#265-351) uses a dangerous strict equality:\n\t- assetBalance == 0 (contracts/vault/VaultCore.sol#302)\n", "markdown": "[VaultCore._allocate()](contracts/vault/VaultCore.sol#L265-L351) uses a dangerous strict equality:\n\t- [assetBalance == 0](contracts/vault/VaultCore.sol#L302)\n", "id": "68299d4d220bd6c43bb5621c4879a0d491e7543f1165aecf84c78d5c75097361", "check": "incorrect-equality", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "function", "name": "swap", "source_mapping": {"start": 2267, "length": 626, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/buyback/BuybackConstructor.sol", "filename_relative": "contracts/buyback/BuybackConstructor.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/buyback/BuybackConstructor.sol", "filename_short": "contracts/buyback/BuybackConstructor.sol", "is_dependency": false, "lines": [73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BuybackConstructor", "source_mapping": {"start": 319, "length": 2850, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/buyback/BuybackConstructor.sol", "filename_relative": "contracts/buyback/BuybackConstructor.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/buyback/BuybackConstructor.sol", "filename_short": "contracts/buyback/BuybackConstructor.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 1, "ending_column": 2}}, "signature": "swap()"}}, {"type": "node", "name": "IUniswapV2Router(uniswapAddr).swapExactTokensForTokens(sourceAmount,uint256(0),path,address(this),now)", "source_mapping": {"start": 2710, "length": 176, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/buyback/BuybackConstructor.sol", "filename_relative": "contracts/buyback/BuybackConstructor.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/buyback/BuybackConstructor.sol", "filename_short": "contracts/buyback/BuybackConstructor.sol", "is_dependency": false, "lines": [85, 86, 87, 88, 89, 90, 91], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "swap", "source_mapping": {"start": 2267, "length": 626, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/buyback/BuybackConstructor.sol", "filename_relative": "contracts/buyback/BuybackConstructor.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/buyback/BuybackConstructor.sol", "filename_short": "contracts/buyback/BuybackConstructor.sol", "is_dependency": false, "lines": [73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BuybackConstructor", "source_mapping": {"start": 319, "length": 2850, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/buyback/BuybackConstructor.sol", "filename_relative": "contracts/buyback/BuybackConstructor.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/buyback/BuybackConstructor.sol", "filename_short": "contracts/buyback/BuybackConstructor.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 1, "ending_column": 2}}, "signature": "swap()"}}}}], "description": "BuybackConstructor.swap() (contracts/buyback/BuybackConstructor.sol#73-92) ignores return value by IUniswapV2Router(uniswapAddr).swapExactTokensForTokens(sourceAmount,uint256(0),path,address(this),now) (contracts/buyback/BuybackConstructor.sol#85-91)\n", "markdown": "[BuybackConstructor.swap()](contracts/buyback/BuybackConstructor.sol#L73-L92) ignores return value by [IUniswapV2Router(uniswapAddr).swapExactTokensForTokens(sourceAmount,uint256(0),path,address(this),now)](contracts/buyback/BuybackConstructor.sol#L85-L91)\n", "id": "3cc3f6a6db631431fed154ac7a026944735135574cc350ab5b7af20075adf2bc", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "trusteeAddress", "source_mapping": {"start": 3698, "length": 29, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [101], "starting_column": 5, "ending_column": 34}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 807, "length": 3487, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120], "starting_column": 1, "ending_column": 2}}}}, {"type": "function", "name": "_allocate", "source_mapping": {"start": 9506, "length": 3882, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 621, "length": 24302, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681], "starting_column": 1, "ending_column": 2}}, "signature": "_allocate()"}}, {"type": "function", "name": "_rebase", "source_mapping": {"start": 13841, "length": 953, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [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], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 621, "length": 24302, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681], "starting_column": 1, "ending_column": 2}}, "signature": "_rebase()"}}], "description": "VaultStorage.trusteeAddress (contracts/vault/VaultStorage.sol#101) is never initialized. It is used in:\n\t- VaultCore._allocate() (contracts/vault/VaultCore.sol#271-357)\n\t- VaultCore._rebase() (contracts/vault/VaultCore.sol#372-396)\n", "markdown": "[VaultStorage.trusteeAddress](contracts/vault/VaultStorage.sol#L101) is never initialized. It is used in:\n\t- [VaultCore._allocate()](contracts/vault/VaultCore.sol#L271-L357)\n\t- [VaultCore._rebase()](contracts/vault/VaultCore.sol#L372-L396)\n", "id": "65e007df44c00b192cdedf6acb4c0c396774b55569e66aa864570ff224919500", "check": "uninitialized-state", "impact": "High", "confidence": "High"}, {"elements": [{"type": "function", "name": "_allocate", "source_mapping": {"start": 9506, "length": 3882, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 621, "length": 24302, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681], "starting_column": 1, "ending_column": 2}}, "signature": "_allocate()"}}, {"type": "node", "name": "assetBalance == 0", "source_mapping": {"start": 11185, "length": 17, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [308], "starting_column": 17, "ending_column": 34}, "type_specific_fields": {"parent": {"type": "function", "name": "_allocate", "source_mapping": {"start": 9506, "length": 3882, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 621, "length": 24302, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681], "starting_column": 1, "ending_column": 2}}, "signature": "_allocate()"}}}}], "description": "VaultCore._allocate() (contracts/vault/VaultCore.sol#271-357) uses a dangerous strict equality:\n\t- assetBalance == 0 (contracts/vault/VaultCore.sol#308)\n", "markdown": "[VaultCore._allocate()](contracts/vault/VaultCore.sol#L271-L357) uses a dangerous strict equality:\n\t- [assetBalance == 0](contracts/vault/VaultCore.sol#L308)\n", "id": "3cdb474d424497377560f2617a225571d094bc5a4d9068ed28cc039cf36bb0a9", "check": "incorrect-equality", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "function", "name": "swap", "source_mapping": {"start": 1716, "length": 626, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.sol", "is_dependency": false, "lines": [54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Buyback", "source_mapping": {"start": 319, "length": 2299, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85], "starting_column": 1, "ending_column": 2}}, "signature": "swap()"}}, {"type": "node", "name": "IUniswapV2Router(uniswapAddr).swapExactTokensForTokens(sourceAmount,uint256(0),path,address(this),now)", "source_mapping": {"start": 2159, "length": 176, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.sol", "is_dependency": false, "lines": [66, 67, 68, 69, 70, 71, 72], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "swap", "source_mapping": {"start": 1716, "length": 626, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.sol", "is_dependency": false, "lines": [54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Buyback", "source_mapping": {"start": 319, "length": 2299, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85], "starting_column": 1, "ending_column": 2}}, "signature": "swap()"}}}}], "description": "Buyback.swap() (contracts/buyback/Buyback.sol#54-73) ignores return value by IUniswapV2Router(uniswapAddr).swapExactTokensForTokens(sourceAmount,uint256(0),path,address(this),now) (contracts/buyback/Buyback.sol#66-72)\n", "markdown": "[Buyback.swap()](contracts/buyback/Buyback.sol#L54-L73) ignores return value by [IUniswapV2Router(uniswapAddr).swapExactTokensForTokens(sourceAmount,uint256(0),path,address(this),now)](contracts/buyback/Buyback.sol#L66-L72)\n", "id": "4ced8a08a7a10442a6b73bc497693399dcb3627d49d0ffbe3233d32187059cba", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_allocate", "source_mapping": {"start": 9451, "length": 3809, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 566, "length": 24229, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677], "starting_column": 1, "ending_column": 2}}, "signature": "_allocate()"}}, {"type": "node", "name": "assetBalance == 0", "source_mapping": {"start": 11130, "length": 17, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [307], "starting_column": 17, "ending_column": 34}, "type_specific_fields": {"parent": {"type": "function", "name": "_allocate", "source_mapping": {"start": 9451, "length": 3809, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 566, "length": 24229, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677], "starting_column": 1, "ending_column": 2}}, "signature": "_allocate()"}}}}], "description": "VaultCore._allocate() (contracts/vault/VaultCore.sol#270-353) uses a dangerous strict equality:\n\t- assetBalance == 0 (contracts/vault/VaultCore.sol#307)\n", "markdown": "[VaultCore._allocate()](contracts/vault/VaultCore.sol#L270-L353) uses a dangerous strict equality:\n\t- [assetBalance == 0](contracts/vault/VaultCore.sol#L307)\n", "id": "67337dd8b3da36d12ebd0856bc1dd88acd22e740abd8d2e6e33a46a1d187e940", "check": "incorrect-equality", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "contract", "name": "Tether", "source_mapping": {"start": 402, "length": 248, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/flipper/Flipper.sol", "filename_relative": "contracts/flipper/Flipper.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/flipper/Flipper.sol", "filename_short": "contracts/flipper/Flipper.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23], "starting_column": 1, "ending_column": 2}}, {"type": "function", "name": "transfer", "source_mapping": {"start": 425, "length": 54, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/flipper/Flipper.sol", "filename_relative": "contracts/flipper/Flipper.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/flipper/Flipper.sol", "filename_short": "contracts/flipper/Flipper.sol", "is_dependency": false, "lines": [14], "starting_column": 5, "ending_column": 59}, "type_specific_fields": {"parent": {"type": "contract", "name": "Tether", "source_mapping": {"start": 402, "length": 248, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/flipper/Flipper.sol", "filename_relative": "contracts/flipper/Flipper.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/flipper/Flipper.sol", "filename_short": "contracts/flipper/Flipper.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23], "starting_column": 1, "ending_column": 2}}, "signature": "transfer(address,uint256)"}}], "description": "Tether (contracts/flipper/Flipper.sol#13-23) has incorrect ERC20 function interface:Tether.transfer(address,uint256) (contracts/flipper/Flipper.sol#14)\n", "markdown": "[Tether](contracts/flipper/Flipper.sol#L13-L23) has incorrect ERC20 function interface:[Tether.transfer(address,uint256)](contracts/flipper/Flipper.sol#L14)\n", "id": "e2f2abe06f3b5a5408c2013e6c7749baa5ffc112491baf17fb7381de0160bf62", "check": "erc20-interface", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "contract", "name": "Tether", "source_mapping": {"start": 402, "length": 248, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/flipper/Flipper.sol", "filename_relative": "contracts/flipper/Flipper.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/flipper/Flipper.sol", "filename_short": "contracts/flipper/Flipper.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23], "starting_column": 1, "ending_column": 2}}, {"type": "function", "name": "transferFrom", "source_mapping": {"start": 485, "length": 102, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/flipper/Flipper.sol", "filename_relative": "contracts/flipper/Flipper.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/flipper/Flipper.sol", "filename_short": "contracts/flipper/Flipper.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20], "starting_column": 5, "ending_column": 16}, "type_specific_fields": {"parent": {"type": "contract", "name": "Tether", "source_mapping": {"start": 402, "length": 248, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/flipper/Flipper.sol", "filename_relative": "contracts/flipper/Flipper.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/flipper/Flipper.sol", "filename_short": "contracts/flipper/Flipper.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23], "starting_column": 1, "ending_column": 2}}, "signature": "transferFrom(address,address,uint256)"}}], "description": "Tether (contracts/flipper/Flipper.sol#13-23) has incorrect ERC20 function interface:Tether.transferFrom(address,address,uint256) (contracts/flipper/Flipper.sol#16-20)\n", "markdown": "[Tether](contracts/flipper/Flipper.sol#L13-L23) has incorrect ERC20 function interface:[Tether.transferFrom(address,address,uint256)](contracts/flipper/Flipper.sol#L16-L20)\n", "id": "3ba32686b3afe7766e203671652c46578ceb76551174eb1d20789241a114e5db", "check": "erc20-interface", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "contract", "name": "InitializableAbstractStrategy", "source_mapping": {"start": 396, "length": 7885, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251], "starting_column": 1, "ending_column": 2}}, {"type": "node", "name": "assetsMapped.push(_asset)", "source_mapping": {"start": 6016, "length": 25, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [177], "starting_column": 9, "ending_column": 34}, "type_specific_fields": {"parent": {"type": "function", "name": "_setPTokenAddress", "source_mapping": {"start": 5700, "length": 438, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "InitializableAbstractStrategy", "source_mapping": {"start": 396, "length": 7885, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251], "starting_column": 1, "ending_column": 2}}, "signature": "_setPTokenAddress(address,address)"}}}}], "description": "InitializableAbstractStrategy (contracts/utils/InitializableAbstractStrategy.sol#12-251) contract sets array length with a user-controlled value:\n\t- assetsMapped.push(_asset) (contracts/utils/InitializableAbstractStrategy.sol#177)\n", "markdown": "[InitializableAbstractStrategy](contracts/utils/InitializableAbstractStrategy.sol#L12-L251) contract sets array length with a user-controlled value:\n\t- [assetsMapped.push(_asset)](contracts/utils/InitializableAbstractStrategy.sol#L177)\n", "id": "df38af393431fdde0ef600ae1071c57ca43fd15a0015a0d24d83245f0a52a803", "check": "controlled-array-length", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_deposit", "source_mapping": {"start": 1736, "length": 293, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [53, 54, 55, 56, 57, 58], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompoundStrategy", "source_mapping": {"start": 382, "length": 7749, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221], "starting_column": 1, "ending_column": 2}}, "signature": "_deposit(address,uint256)"}}, {"type": "node", "name": "require(bool,string)(cToken.mint(_amount) == 0,cToken mint failed)", "source_mapping": {"start": 1966, "length": 56, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [57], "starting_column": 9, "ending_column": 65}, "type_specific_fields": {"parent": {"type": "function", "name": "_deposit", "source_mapping": {"start": 1736, "length": 293, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [53, 54, 55, 56, 57, 58], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompoundStrategy", "source_mapping": {"start": 382, "length": 7749, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221], "starting_column": 1, "ending_column": 2}}, "signature": "_deposit(address,uint256)"}}}}], "description": "CompoundStrategy._deposit(address,uint256) (contracts/strategies/CompoundStrategy.sol#53-58) uses a dangerous strict equality:\n\t- require(bool,string)(cToken.mint(_amount) == 0,cToken mint failed) (contracts/strategies/CompoundStrategy.sol#57)\n", "markdown": "[CompoundStrategy._deposit(address,uint256)](contracts/strategies/CompoundStrategy.sol#L53-L58) uses a dangerous strict equality:\n\t- [require(bool,string)(cToken.mint(_amount) == 0,cToken mint failed)](contracts/strategies/CompoundStrategy.sol#L57)\n", "id": "7cadb11ad19feb7b0494f84f47faae7b851c89d2098787519c17eda83d7f73d6", "check": "incorrect-equality", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "function", "name": "withdrawAll", "source_mapping": {"start": 3595, "length": 720, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompoundStrategy", "source_mapping": {"start": 382, "length": 7749, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221], "starting_column": 1, "ending_column": 2}}, "signature": "withdrawAll()"}}, {"type": "node", "name": "require(bool,string)(cToken.redeem(cToken.balanceOf(address(this))) == 0,Redeem failed)", "source_mapping": {"start": 3901, "length": 135, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [108, 109, 110, 111], "starting_column": 17, "ending_column": 18}, "type_specific_fields": {"parent": {"type": "function", "name": "withdrawAll", "source_mapping": {"start": 3595, "length": 720, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompoundStrategy", "source_mapping": {"start": 382, "length": 7749, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221], "starting_column": 1, "ending_column": 2}}, "signature": "withdrawAll()"}}}}], "description": "CompoundStrategy.withdrawAll() (contracts/strategies/CompoundStrategy.sol#103-120) uses a dangerous strict equality:\n\t- require(bool,string)(cToken.redeem(cToken.balanceOf(address(this))) == 0,Redeem failed) (contracts/strategies/CompoundStrategy.sol#108-111)\n", "markdown": "[CompoundStrategy.withdrawAll()](contracts/strategies/CompoundStrategy.sol#L103-L120) uses a dangerous strict equality:\n\t- [require(bool,string)(cToken.redeem(cToken.balanceOf(address(this))) == 0,Redeem failed)](contracts/strategies/CompoundStrategy.sol#L108-L111)\n", "id": "d32d63d9464f5701e2db9f5630c6fce80c9c5404aeecf34e08b2860fbca2e756", "check": "incorrect-equality", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "variable", "name": "trusteeFeeBps", "source_mapping": {"start": 3782, "length": 28, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [104], "starting_column": 5, "ending_column": 33}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 807, "length": 3486, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120], "starting_column": 1, "ending_column": 2}}}}, {"type": "function", "name": "_rebase", "source_mapping": {"start": 13775, "length": 953, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [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], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 578, "length": 24561, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686], "starting_column": 1, "ending_column": 2}}, "signature": "_rebase()"}}], "description": "VaultStorage.trusteeFeeBps (contracts/vault/VaultStorage.sol#104) is never initialized. It is used in:\n\t- VaultCore._rebase() (contracts/vault/VaultCore.sol#370-394)\n", "markdown": "[VaultStorage.trusteeFeeBps](contracts/vault/VaultStorage.sol#L104) is never initialized. It is used in:\n\t- [VaultCore._rebase()](contracts/vault/VaultCore.sol#L370-L394)\n", "id": "6026824a262c80dba27267266bd932f6ced8a0ab28731a229e2747099e556a33", "check": "uninitialized-state", "impact": "High", "confidence": "High"}, {"elements": [{"type": "variable", "name": "trusteeAddress", "source_mapping": {"start": 3699, "length": 29, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [101], "starting_column": 5, "ending_column": 34}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 807, "length": 3490, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120], "starting_column": 1, "ending_column": 2}}}}, {"type": "function", "name": "_rebase", "source_mapping": {"start": 13871, "length": 960, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [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], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 578, "length": 24664, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688], "starting_column": 1, "ending_column": 2}}, "signature": "_rebase()"}}], "description": "VaultStorage.trusteeAddress (contracts/vault/VaultStorage.sol#101) is never initialized. It is used in:\n\t- VaultCore._rebase() (contracts/vault/VaultCore.sol#372-396)\n", "markdown": "[VaultStorage.trusteeAddress](contracts/vault/VaultStorage.sol#L101) is never initialized. It is used in:\n\t- [VaultCore._rebase()](contracts/vault/VaultCore.sol#L372-L396)\n", "id": "38c6f1922de1e66b8be48d1e73897a517a266abf443487b0429c6d6070aa67d7", "check": "uninitialized-state", "impact": "High", "confidence": "High"}, {"elements": [{"type": "variable", "name": "trusteeFeeBasis", "source_mapping": {"start": 3784, "length": 30, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [104], "starting_column": 5, "ending_column": 35}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 807, "length": 3490, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120], "starting_column": 1, "ending_column": 2}}}}, {"type": "function", "name": "_rebase", "source_mapping": {"start": 13871, "length": 960, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [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], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 578, "length": 24664, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688], "starting_column": 1, "ending_column": 2}}, "signature": "_rebase()"}}], "description": "VaultStorage.trusteeFeeBasis (contracts/vault/VaultStorage.sol#104) is never initialized. It is used in:\n\t- VaultCore._rebase() (contracts/vault/VaultCore.sol#372-396)\n", "markdown": "[VaultStorage.trusteeFeeBasis](contracts/vault/VaultStorage.sol#L104) is never initialized. It is used in:\n\t- [VaultCore._rebase()](contracts/vault/VaultCore.sol#L372-L396)\n", "id": "3f7908a03d07c1a38ed6e02e0e85b2e0e3e7b96dcad11d66ac62102edf3951f9", "check": "uninitialized-state", "impact": "High", "confidence": "High"}, {"elements": [{"type": "function", "name": "scaleBy", "source_mapping": {"start": 734, "length": 308, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/StableMath.sol", "filename_relative": "contracts/utils/StableMath.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/StableMath.sol", "filename_short": "contracts/utils/StableMath.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StableMath", "source_mapping": {"start": 242, "length": 3585, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/StableMath.sol", "filename_relative": "contracts/utils/StableMath.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/StableMath.sol", "filename_short": "contracts/utils/StableMath.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112], "starting_column": 1, "ending_column": 2}}, "signature": "scaleBy(uint256,int8)"}}, {"type": "node", "name": "x = x.mul(10 ** uint256(adjustment))", "source_mapping": {"start": 883, "length": 34, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/StableMath.sol", "filename_relative": "contracts/utils/StableMath.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/StableMath.sol", "filename_short": "contracts/utils/StableMath.sol", "is_dependency": false, "lines": [31], "starting_column": 13, "ending_column": 47}, "type_specific_fields": {"parent": {"type": "function", "name": "scaleBy", "source_mapping": {"start": 734, "length": 308, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/StableMath.sol", "filename_relative": "contracts/utils/StableMath.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/StableMath.sol", "filename_short": "contracts/utils/StableMath.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StableMath", "source_mapping": {"start": 242, "length": 3585, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/StableMath.sol", "filename_relative": "contracts/utils/StableMath.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/StableMath.sol", "filename_short": "contracts/utils/StableMath.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112], "starting_column": 1, "ending_column": 2}}, "signature": "scaleBy(uint256,int8)"}}}}, {"type": "node", "name": "x = x.div(10 ** uint256(adjustment * - 1))", "source_mapping": {"start": 968, "length": 39, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/StableMath.sol", "filename_relative": "contracts/utils/StableMath.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/StableMath.sol", "filename_short": "contracts/utils/StableMath.sol", "is_dependency": false, "lines": [33], "starting_column": 13, "ending_column": 52}, "type_specific_fields": {"parent": {"type": "function", "name": "scaleBy", "source_mapping": {"start": 734, "length": 308, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/StableMath.sol", "filename_relative": "contracts/utils/StableMath.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/StableMath.sol", "filename_short": "contracts/utils/StableMath.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StableMath", "source_mapping": {"start": 242, "length": 3585, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/StableMath.sol", "filename_relative": "contracts/utils/StableMath.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/StableMath.sol", "filename_short": "contracts/utils/StableMath.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112], "starting_column": 1, "ending_column": 2}}, "signature": "scaleBy(uint256,int8)"}}}}], "description": "StableMath.scaleBy(uint256,int8) (contracts/utils/StableMath.sol#25-36) performs a multiplication on the result of a division:\n\t-x = x.mul(10 ** uint256(adjustment)) (contracts/utils/StableMath.sol#31)\n\t-x = x.div(10 ** uint256(adjustment * - 1)) (contracts/utils/StableMath.sol#33)\n", "markdown": "[StableMath.scaleBy(uint256,int8)](contracts/utils/StableMath.sol#L25-L36) performs a multiplication on the result of a division:\n\t-[x = x.mul(10 ** uint256(adjustment))](contracts/utils/StableMath.sol#L31)\n\t-[x = x.div(10 ** uint256(adjustment * - 1))](contracts/utils/StableMath.sol#L33)\n", "id": "db2ef8c1daf9b02deedbcc86671a36b6336566289f0ec3f91ff45f5afe31fd91", "check": "divide-before-multiply", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "withdrawAll", "source_mapping": {"start": 2862, "length": 720, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompoundStrategy", "source_mapping": {"start": 382, "length": 7016, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [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], "starting_column": 1, "ending_column": 2}}, "signature": "withdrawAll()"}}, {"type": "node", "name": "require(bool,string)(cToken.redeem(cToken.balanceOf(address(this))) == 0,Redeem failed)", "source_mapping": {"start": 3168, "length": 135, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [87, 88, 89, 90], "starting_column": 17, "ending_column": 18}, "type_specific_fields": {"parent": {"type": "function", "name": "withdrawAll", "source_mapping": {"start": 2862, "length": 720, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompoundStrategy", "source_mapping": {"start": 382, "length": 7016, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [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], "starting_column": 1, "ending_column": 2}}, "signature": "withdrawAll()"}}}}], "description": "CompoundStrategy.withdrawAll() (contracts/strategies/CompoundStrategy.sol#82-99) uses a dangerous strict equality:\n\t- require(bool,string)(cToken.redeem(cToken.balanceOf(address(this))) == 0,Redeem failed) (contracts/strategies/CompoundStrategy.sol#87-90)\n", "markdown": "[CompoundStrategy.withdrawAll()](contracts/strategies/CompoundStrategy.sol#L82-L99) uses a dangerous strict equality:\n\t- [require(bool,string)(cToken.redeem(cToken.balanceOf(address(this))) == 0,Redeem failed)](contracts/strategies/CompoundStrategy.sol#L87-L90)\n", "id": "5dce02849df598583a9b3a98ec07f6415c6f4d1dac892a6807845e3f68e3f38f", "check": "incorrect-equality", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "function", "name": "balanceOf", "source_mapping": {"start": 2744, "length": 223, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [83, 84, 85, 86, 87], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OUSD", "source_mapping": {"start": 829, "length": 17607, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 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], "starting_column": 1, "ending_column": 2}}, "signature": "balanceOf(address)"}}, {"type": "node", "name": "_creditBalances[_account] == 0", "source_mapping": {"start": 2825, "length": 30, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [84], "starting_column": 13, "ending_column": 43}, "type_specific_fields": {"parent": {"type": "function", "name": "balanceOf", "source_mapping": {"start": 2744, "length": 223, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [83, 84, 85, 86, 87], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OUSD", "source_mapping": {"start": 829, "length": 17607, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 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], "starting_column": 1, "ending_column": 2}}, "signature": "balanceOf(address)"}}}}], "description": "OUSD.balanceOf(address) (contracts/token/OUSD.sol#83-87) uses a dangerous strict equality:\n\t- _creditBalances[_account] == 0 (contracts/token/OUSD.sol#84)\n", "markdown": "[OUSD.balanceOf(address)](contracts/token/OUSD.sol#L83-L87) uses a dangerous strict equality:\n\t- [_creditBalances[_account] == 0](contracts/token/OUSD.sol#L84)\n", "id": "ccb46234e07af49545e8f6ec6328d958fa1c2f6c5bc4170dbf99f57e4003ebeb", "check": "incorrect-equality", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "function", "name": "balanceOf", "source_mapping": {"start": 2849, "length": 223, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [87, 88, 89, 90, 91], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OUSD", "source_mapping": {"start": 829, "length": 16903, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 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], "starting_column": 1, "ending_column": 2}}, "signature": "balanceOf(address)"}}, {"type": "node", "name": "_creditBalances[_account] == 0", "source_mapping": {"start": 2930, "length": 30, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [88], "starting_column": 13, "ending_column": 43}, "type_specific_fields": {"parent": {"type": "function", "name": "balanceOf", "source_mapping": {"start": 2849, "length": 223, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [87, 88, 89, 90, 91], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OUSD", "source_mapping": {"start": 829, "length": 16903, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 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], "starting_column": 1, "ending_column": 2}}, "signature": "balanceOf(address)"}}}}], "description": "OUSD.balanceOf(address) (contracts/token/OUSD.sol#87-91) uses a dangerous strict equality:\n\t- _creditBalances[_account] == 0 (contracts/token/OUSD.sol#88)\n", "markdown": "[OUSD.balanceOf(address)](contracts/token/OUSD.sol#L87-L91) uses a dangerous strict equality:\n\t- [_creditBalances[_account] == 0](contracts/token/OUSD.sol#L88)\n", "id": "ac0ff05bcf967595b64b2a24b53884cfca5e30e06792da3ba40104ab169d77a4", "check": "incorrect-equality", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "contract", "name": "InitializableAbstractStrategy", "source_mapping": {"start": 396, "length": 8222, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262], "starting_column": 1, "ending_column": 2}}, {"type": "node", "name": "assetsMapped.push(_asset)", "source_mapping": {"start": 6476, "length": 25, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [193], "starting_column": 9, "ending_column": 34}, "type_specific_fields": {"parent": {"type": "function", "name": "_setPTokenAddress", "source_mapping": {"start": 6160, "length": 438, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "InitializableAbstractStrategy", "source_mapping": {"start": 396, "length": 8222, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262], "starting_column": 1, "ending_column": 2}}, "signature": "_setPTokenAddress(address,address)"}}}}], "description": "InitializableAbstractStrategy (contracts/utils/InitializableAbstractStrategy.sol#12-262) contract sets array length with a user-controlled value:\n\t- assetsMapped.push(_asset) (contracts/utils/InitializableAbstractStrategy.sol#193)\n", "markdown": "[InitializableAbstractStrategy](contracts/utils/InitializableAbstractStrategy.sol#L12-L262) contract sets array length with a user-controlled value:\n\t- [assetsMapped.push(_asset)](contracts/utils/InitializableAbstractStrategy.sol#L193)\n", "id": "e99c44d951e76857b3f5bfc5cdccca773021441bfde515673b7eccdad421c7e3", "check": "controlled-array-length", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "executeTransaction", "source_mapping": {"start": 4393, "length": 1470, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/timelock/MinuteTimelock.sol", "filename_relative": "contracts/timelock/MinuteTimelock.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/timelock/MinuteTimelock.sol", "filename_short": "contracts/timelock/MinuteTimelock.sol", "is_dependency": false, "lines": [160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 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": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MinuteTimelock", "source_mapping": {"start": 300, "length": 5733, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/timelock/MinuteTimelock.sol", "filename_relative": "contracts/timelock/MinuteTimelock.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/timelock/MinuteTimelock.sol", "filename_short": "contracts/timelock/MinuteTimelock.sol", "is_dependency": false, "lines": [11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214], "starting_column": 1, "ending_column": 2}}, "signature": "executeTransaction(address,uint256,string,bytes,uint256)"}}, {"type": "node", "name": "(success,returnData) = target.call.value(value)(callData)", "source_mapping": {"start": 5526, "length": 98, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/timelock/MinuteTimelock.sol", "filename_relative": "contracts/timelock/MinuteTimelock.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/timelock/MinuteTimelock.sol", "filename_short": "contracts/timelock/MinuteTimelock.sol", "is_dependency": false, "lines": [197, 198, 199], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "executeTransaction", "source_mapping": {"start": 4393, "length": 1470, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/timelock/MinuteTimelock.sol", "filename_relative": "contracts/timelock/MinuteTimelock.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/timelock/MinuteTimelock.sol", "filename_short": "contracts/timelock/MinuteTimelock.sol", "is_dependency": false, "lines": [160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 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": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MinuteTimelock", "source_mapping": {"start": 300, "length": 5733, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/timelock/MinuteTimelock.sol", "filename_relative": "contracts/timelock/MinuteTimelock.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/timelock/MinuteTimelock.sol", "filename_short": "contracts/timelock/MinuteTimelock.sol", "is_dependency": false, "lines": [11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214], "starting_column": 1, "ending_column": 2}}, "signature": "executeTransaction(address,uint256,string,bytes,uint256)"}}}}], "description": "MinuteTimelock.executeTransaction(address,uint256,string,bytes,uint256) (contracts/timelock/MinuteTimelock.sol#160-208) sends eth to arbitrary user\n\tDangerous calls:\n\t- (success,returnData) = target.call.value(value)(callData) (contracts/timelock/MinuteTimelock.sol#197-199)\n", "markdown": "[MinuteTimelock.executeTransaction(address,uint256,string,bytes,uint256)](contracts/timelock/MinuteTimelock.sol#L160-L208) sends eth to arbitrary user\n\tDangerous calls:\n\t- [(success,returnData) = target.call.value(value)(callData)](contracts/timelock/MinuteTimelock.sol#L197-L199)\n", "id": "adb27b2223ce1f61a53972f79799586ca089e9afc5f2eacfe3b6af935426ae32", "check": "arbitrary-send", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "assets", "source_mapping": {"start": 1854, "length": 32, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [51], "starting_column": 5, "ending_column": 37}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 738, "length": 3013, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106], "starting_column": 1, "ending_column": 2}}}}, {"type": "function", "name": "mint", "source_mapping": {"start": 1313, "length": 1551, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 578, "length": 23987, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680], "starting_column": 1, "ending_column": 2}}, "signature": "mint(address,uint256,uint256)"}}, {"type": "function", "name": "mintMultiple", "source_mapping": {"start": 3165, "length": 2120, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 578, "length": 23987, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680], "starting_column": 1, "ending_column": 2}}, "signature": "mintMultiple(address[],uint256[],uint256)"}}, {"type": "function", "name": "isSupportedAsset", "source_mapping": {"start": 23379, "length": 121, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [647, 648, 649], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 578, "length": 23987, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680], "starting_column": 1, "ending_column": 2}}, "signature": "isSupportedAsset(address)"}}], "description": "VaultStorage.assets (contracts/vault/VaultStorage.sol#51) is never initialized. It is used in:\n\t- VaultCore.mint(address,uint256,uint256) (contracts/vault/VaultCore.sol#42-87)\n\t- VaultCore.mintMultiple(address[],uint256[],uint256) (contracts/vault/VaultCore.sol#96-153)\n\t- VaultCore.isSupportedAsset(address) (contracts/vault/VaultCore.sol#647-649)\n", "markdown": "[VaultStorage.assets](contracts/vault/VaultStorage.sol#L51) is never initialized. It is used in:\n\t- [VaultCore.mint(address,uint256,uint256)](contracts/vault/VaultCore.sol#L42-L87)\n\t- [VaultCore.mintMultiple(address[],uint256[],uint256)](contracts/vault/VaultCore.sol#L96-L153)\n\t- [VaultCore.isSupportedAsset(address)](contracts/vault/VaultCore.sol#L647-L649)\n", "id": "b5f535d2516b1f696e381fc7ef334ac08dab475e61c7fd193ef8eb0498172128", "check": "uninitialized-state", "impact": "High", "confidence": "High"}, {"elements": [{"type": "variable", "name": "allAssets", "source_mapping": {"start": 1892, "length": 19, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [52], "starting_column": 5, "ending_column": 24}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 738, "length": 3013, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106], "starting_column": 1, "ending_column": 2}}}}, {"type": "function", "name": "mintMultiple", "source_mapping": {"start": 3165, "length": 2120, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 578, "length": 23987, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680], "starting_column": 1, "ending_column": 2}}, "signature": "mintMultiple(address[],uint256[],uint256)"}}, {"type": "function", "name": "_redeem", "source_mapping": {"start": 5959, "length": 2568, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 578, "length": 23987, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680], "starting_column": 1, "ending_column": 2}}, "signature": "_redeem(uint256,uint256)"}}, {"type": "function", "name": "_allocate", "source_mapping": {"start": 9491, "length": 3809, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 578, "length": 23987, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680], "starting_column": 1, "ending_column": 2}}, "signature": "_allocate()"}}, {"type": "function", "name": "_totalValueInVault", "source_mapping": {"start": 14993, "length": 456, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 578, "length": 23987, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680], "starting_column": 1, "ending_column": 2}}, "signature": "_totalValueInVault()"}}, {"type": "function", "name": "_totalValueInStrategy", "source_mapping": {"start": 16033, "length": 605, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 578, "length": 23987, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680], "starting_column": 1, "ending_column": 2}}, "signature": "_totalValueInStrategy(address)"}}, {"type": "function", "name": "_checkBalance", "source_mapping": {"start": 17760, "length": 347, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [491, 492, 493, 494, 495, 496, 497, 498, 499], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 578, "length": 23987, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680], "starting_column": 1, "ending_column": 2}}, "signature": "_checkBalance()"}}, {"type": "function", "name": "_calculateRedeemOutputs", "source_mapping": {"start": 18615, "length": 3196, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 578, "length": 23987, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680], "starting_column": 1, "ending_column": 2}}, "signature": "_calculateRedeemOutputs(uint256)"}}, {"type": "function", "name": "_getAssetPrices", "source_mapping": {"start": 21960, "length": 754, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 578, "length": 23987, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680], "starting_column": 1, "ending_column": 2}}, "signature": "_getAssetPrices(bool)"}}, {"type": "function", "name": "getAssetCount", "source_mapping": {"start": 22919, "length": 95, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [629, 630, 631], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 578, "length": 23987, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680], "starting_column": 1, "ending_column": 2}}, "signature": "getAssetCount()"}}, {"type": "function", "name": "getAllAssets", "source_mapping": {"start": 23084, "length": 98, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [636, 637, 638], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 578, "length": 23987, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680], "starting_column": 1, "ending_column": 2}}, "signature": "getAllAssets()"}}], "description": "VaultStorage.allAssets (contracts/vault/VaultStorage.sol#52) is never initialized. It is used in:\n\t- VaultCore.mintMultiple(address[],uint256[],uint256) (contracts/vault/VaultCore.sol#96-153)\n\t- VaultCore._redeem(uint256,uint256) (contracts/vault/VaultCore.sol#176-241)\n\t- VaultCore._allocate() (contracts/vault/VaultCore.sol#272-355)\n\t- VaultCore._totalValueInVault() (contracts/vault/VaultCore.sol#412-422)\n\t- VaultCore._totalValueInStrategy(address) (contracts/vault/VaultCore.sol#440-456)\n\t- VaultCore._checkBalance() (contracts/vault/VaultCore.sol#491-499)\n\t- VaultCore._calculateRedeemOutputs(uint256) (contracts/vault/VaultCore.sol#518-594)\n\t- VaultCore._getAssetPrices(bool) (contracts/vault/VaultCore.sol#600-620)\n\t- VaultCore.getAssetCount() (contracts/vault/VaultCore.sol#629-631)\n\t- VaultCore.getAllAssets() (contracts/vault/VaultCore.sol#636-638)\n", "markdown": "[VaultStorage.allAssets](contracts/vault/VaultStorage.sol#L52) is never initialized. It is used in:\n\t- [VaultCore.mintMultiple(address[],uint256[],uint256)](contracts/vault/VaultCore.sol#L96-L153)\n\t- [VaultCore._redeem(uint256,uint256)](contracts/vault/VaultCore.sol#L176-L241)\n\t- [VaultCore._allocate()](contracts/vault/VaultCore.sol#L272-L355)\n\t- [VaultCore._totalValueInVault()](contracts/vault/VaultCore.sol#L412-L422)\n\t- [VaultCore._totalValueInStrategy(address)](contracts/vault/VaultCore.sol#L440-L456)\n\t- [VaultCore._checkBalance()](contracts/vault/VaultCore.sol#L491-L499)\n\t- [VaultCore._calculateRedeemOutputs(uint256)](contracts/vault/VaultCore.sol#L518-L594)\n\t- [VaultCore._getAssetPrices(bool)](contracts/vault/VaultCore.sol#L600-L620)\n\t- [VaultCore.getAssetCount()](contracts/vault/VaultCore.sol#L629-L631)\n\t- [VaultCore.getAllAssets()](contracts/vault/VaultCore.sol#L636-L638)\n", "id": "a0bcee4b84d596e46f4bdc315977842c894250f10de805d7cb76ef572ecc6eed", "check": "uninitialized-state", "impact": "High", "confidence": "High"}, {"elements": [{"type": "variable", "name": "allStrategies", "source_mapping": {"start": 2121, "length": 23, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [60], "starting_column": 5, "ending_column": 28}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 738, "length": 3013, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106], "starting_column": 1, "ending_column": 2}}}}, {"type": "function", "name": "_allocate", "source_mapping": {"start": 9491, "length": 3809, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 578, "length": 23987, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680], "starting_column": 1, "ending_column": 2}}, "signature": "_allocate()"}}, {"type": "function", "name": "_totalValueInStrategies", "source_mapping": {"start": 15600, "length": 232, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [428, 429, 430, 431, 432, 433], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 578, "length": 23987, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680], "starting_column": 1, "ending_column": 2}}, "signature": "_totalValueInStrategies()"}}, {"type": "function", "name": "_checkBalance", "source_mapping": {"start": 17149, "length": 458, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 578, "length": 23987, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680], "starting_column": 1, "ending_column": 2}}, "signature": "_checkBalance(address)"}}, {"type": "function", "name": "getStrategyCount", "source_mapping": {"start": 23269, "length": 104, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [643, 644, 645], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 578, "length": 23987, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680], "starting_column": 1, "ending_column": 2}}, "signature": "getStrategyCount()"}}], "description": "VaultStorage.allStrategies (contracts/vault/VaultStorage.sol#60) is never initialized. It is used in:\n\t- VaultCore._allocate() (contracts/vault/VaultCore.sol#272-355)\n\t- VaultCore._totalValueInStrategies() (contracts/vault/VaultCore.sol#428-433)\n\t- VaultCore._checkBalance(address) (contracts/vault/VaultCore.sol#472-485)\n\t- VaultCore.getStrategyCount() (contracts/vault/VaultCore.sol#643-645)\n", "markdown": "[VaultStorage.allStrategies](contracts/vault/VaultStorage.sol#L60) is never initialized. It is used in:\n\t- [VaultCore._allocate()](contracts/vault/VaultCore.sol#L272-L355)\n\t- [VaultCore._totalValueInStrategies()](contracts/vault/VaultCore.sol#L428-L433)\n\t- [VaultCore._checkBalance(address)](contracts/vault/VaultCore.sol#L472-L485)\n\t- [VaultCore.getStrategyCount()](contracts/vault/VaultCore.sol#L643-L645)\n", "id": "ea3b2d51d5c7b49d49000d98c22ad2e6114ee9ddc5ae0a3dbca43230b1d86caa", "check": "uninitialized-state", "impact": "High", "confidence": "High"}, {"elements": [{"type": "variable", "name": "assetDefaultStrategies", "source_mapping": {"start": 3296, "length": 57, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [92], "starting_column": 5, "ending_column": 62}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 738, "length": 3013, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106], "starting_column": 1, "ending_column": 2}}}}, {"type": "function", "name": "_redeem", "source_mapping": {"start": 5959, "length": 2568, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 578, "length": 23987, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680], "starting_column": 1, "ending_column": 2}}, "signature": "_redeem(uint256,uint256)"}}, {"type": "function", "name": "_allocate", "source_mapping": {"start": 9491, "length": 3809, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 578, "length": 23987, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680], "starting_column": 1, "ending_column": 2}}, "signature": "_allocate()"}}], "description": "VaultStorage.assetDefaultStrategies (contracts/vault/VaultStorage.sol#92) is never initialized. It is used in:\n\t- VaultCore._redeem(uint256,uint256) (contracts/vault/VaultCore.sol#176-241)\n\t- VaultCore._allocate() (contracts/vault/VaultCore.sol#272-355)\n", "markdown": "[VaultStorage.assetDefaultStrategies](contracts/vault/VaultStorage.sol#L92) is never initialized. It is used in:\n\t- [VaultCore._redeem(uint256,uint256)](contracts/vault/VaultCore.sol#L176-L241)\n\t- [VaultCore._allocate()](contracts/vault/VaultCore.sol#L272-L355)\n", "id": "2a2b38bc90433cda7268d5e5e361bda99612c0a8a010cde7677ef881ee8366ee", "check": "uninitialized-state", "impact": "High", "confidence": "High"}, {"elements": [{"type": "function", "name": "balanceOf", "source_mapping": {"start": 3072, "length": 223, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [93, 94, 95, 96, 97], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OUSD", "source_mapping": {"start": 829, "length": 17126, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 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], "starting_column": 1, "ending_column": 2}}, "signature": "balanceOf(address)"}}, {"type": "node", "name": "_creditBalances[_account] == 0", "source_mapping": {"start": 3153, "length": 30, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [94], "starting_column": 13, "ending_column": 43}, "type_specific_fields": {"parent": {"type": "function", "name": "balanceOf", "source_mapping": {"start": 3072, "length": 223, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [93, 94, 95, 96, 97], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OUSD", "source_mapping": {"start": 829, "length": 17126, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 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], "starting_column": 1, "ending_column": 2}}, "signature": "balanceOf(address)"}}}}], "description": "OUSD.balanceOf(address) (contracts/token/OUSD.sol#93-97) uses a dangerous strict equality:\n\t- _creditBalances[_account] == 0 (contracts/token/OUSD.sol#94)\n", "markdown": "[OUSD.balanceOf(address)](contracts/token/OUSD.sol#L93-L97) uses a dangerous strict equality:\n\t- [_creditBalances[_account] == 0](contracts/token/OUSD.sol#L94)\n", "id": "a55a1e1f6ea78bddc5cbd6d68e5a4302d75fcd721b5a8c9f6966a014896ca1d4", "check": "incorrect-equality", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "function", "name": "updatePool", "source_mapping": {"start": 8912, "length": 759, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/liquidity/LiquidityReward.sol", "filename_relative": "contracts/liquidity/LiquidityReward.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/liquidity/LiquidityReward.sol", "filename_short": "contracts/liquidity/LiquidityReward.sol", "is_dependency": false, "lines": [244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "LiquidityReward", "source_mapping": {"start": 598, "length": 12500, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/liquidity/LiquidityReward.sol", "filename_relative": "contracts/liquidity/LiquidityReward.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/liquidity/LiquidityReward.sol", "filename_short": "contracts/liquidity/LiquidityReward.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, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372], "starting_column": 1, "ending_column": 2}}, "signature": "updatePool()"}}, {"type": "node", "name": "lpSupply == 0", "source_mapping": {"start": 9176, "length": 13, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/liquidity/LiquidityReward.sol", "filename_relative": "contracts/liquidity/LiquidityReward.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/liquidity/LiquidityReward.sol", "filename_short": "contracts/liquidity/LiquidityReward.sol", "is_dependency": false, "lines": [253], "starting_column": 13, "ending_column": 26}, "type_specific_fields": {"parent": {"type": "function", "name": "updatePool", "source_mapping": {"start": 8912, "length": 759, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/liquidity/LiquidityReward.sol", "filename_relative": "contracts/liquidity/LiquidityReward.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/liquidity/LiquidityReward.sol", "filename_short": "contracts/liquidity/LiquidityReward.sol", "is_dependency": false, "lines": [244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "LiquidityReward", "source_mapping": {"start": 598, "length": 12500, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/liquidity/LiquidityReward.sol", "filename_relative": "contracts/liquidity/LiquidityReward.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/liquidity/LiquidityReward.sol", "filename_short": "contracts/liquidity/LiquidityReward.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, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372], "starting_column": 1, "ending_column": 2}}, "signature": "updatePool()"}}}}], "description": "LiquidityReward.updatePool() (contracts/liquidity/LiquidityReward.sol#244-268) uses a dangerous strict equality:\n\t- lpSupply == 0 (contracts/liquidity/LiquidityReward.sol#253)\n", "markdown": "[LiquidityReward.updatePool()](contracts/liquidity/LiquidityReward.sol#L244-L268) uses a dangerous strict equality:\n\t- [lpSupply == 0](contracts/liquidity/LiquidityReward.sol#L253)\n", "id": "02a2415f185c8c7b03a0600221486a59fab7f3f7715fd500620d5d0e2e3637cc", "check": "incorrect-equality", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "function", "name": "_allocate", "source_mapping": {"start": 9491, "length": 3809, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 578, "length": 23987, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680], "starting_column": 1, "ending_column": 2}}, "signature": "_allocate()"}}, {"type": "node", "name": "assetBalance == 0", "source_mapping": {"start": 11170, "length": 17, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [309], "starting_column": 17, "ending_column": 34}, "type_specific_fields": {"parent": {"type": "function", "name": "_allocate", "source_mapping": {"start": 9491, "length": 3809, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 578, "length": 23987, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680], "starting_column": 1, "ending_column": 2}}, "signature": "_allocate()"}}}}], "description": "VaultCore._allocate() (contracts/vault/VaultCore.sol#272-355) uses a dangerous strict equality:\n\t- assetBalance == 0 (contracts/vault/VaultCore.sol#309)\n", "markdown": "[VaultCore._allocate()](contracts/vault/VaultCore.sol#L272-L355) uses a dangerous strict equality:\n\t- [assetBalance == 0](contracts/vault/VaultCore.sol#L309)\n", "id": "e076e0868789c4c8eac321fa296d864f811cdc98d51f0a6c652fad192cda236b", "check": "incorrect-equality", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "function", "name": "withdrawAll", "source_mapping": {"start": 2169, "length": 720, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompoundStrategy", "source_mapping": {"start": 319, "length": 6386, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [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], "starting_column": 1, "ending_column": 2}}, "signature": "withdrawAll()"}}, {"type": "node", "name": "require(bool,string)(cToken.redeem(cToken.balanceOf(address(this))) == 0,Redeem failed)", "source_mapping": {"start": 2475, "length": 135, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [71, 72, 73, 74], "starting_column": 17, "ending_column": 18}, "type_specific_fields": {"parent": {"type": "function", "name": "withdrawAll", "source_mapping": {"start": 2169, "length": 720, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompoundStrategy", "source_mapping": {"start": 319, "length": 6386, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [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], "starting_column": 1, "ending_column": 2}}, "signature": "withdrawAll()"}}}}], "description": "CompoundStrategy.withdrawAll() (contracts/strategies/CompoundStrategy.sol#66-83) uses a dangerous strict equality:\n\t- require(bool,string)(cToken.redeem(cToken.balanceOf(address(this))) == 0,Redeem failed) (contracts/strategies/CompoundStrategy.sol#71-74)\n", "markdown": "[CompoundStrategy.withdrawAll()](contracts/strategies/CompoundStrategy.sol#L66-L83) uses a dangerous strict equality:\n\t- [require(bool,string)(cToken.redeem(cToken.balanceOf(address(this))) == 0,Redeem failed)](contracts/strategies/CompoundStrategy.sol#L71-L74)\n", "id": "9e1c9a8960b5355a30be684d7838bfbc435e02b641fb93208cf2e5c248ac5db8", "check": "incorrect-equality", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "variable", "name": "_deprecated_nonRebasingCredits", "source_mapping": {"start": 1889, "length": 46, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [56], "starting_column": 5, "ending_column": 51}, "type_specific_fields": {"parent": {"type": "contract", "name": "OUSD", "source_mapping": {"start": 829, "length": 17126, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 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], "starting_column": 1, "ending_column": 2}}}}], "description": "OUSD._deprecated_nonRebasingCredits (contracts/token/OUSD.sol#56) should be constant\n", "markdown": "[OUSD._deprecated_nonRebasingCredits](contracts/token/OUSD.sol#L56) should be constant\n", "id": "d1ea4fe9408f80125156de9fe468a481994a6d08fef3b6b1933e37e2df899f9e", "check": "constable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "_deprecated_rebaseHooksAddr", "source_mapping": {"start": 2977, "length": 56, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [82], "starting_column": 5, "ending_column": 61}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 738, "length": 3013, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106], "starting_column": 1, "ending_column": 2}}}}], "description": "VaultStorage._deprecated_rebaseHooksAddr (contracts/vault/VaultStorage.sol#82) should be constant\n", "markdown": "[VaultStorage._deprecated_rebaseHooksAddr](contracts/vault/VaultStorage.sol#L82) should be constant\n", "id": "ed4ffd431fec4020c56a7e926083a9e68612827dfc15d7aabf73103cd7bcf2aa", "check": "constable-states", "impact": "Optimization", "confidence": "High"}] \ No newline at end of file From 3b3688167547eafedb05b01e361b35418a30b681 Mon Sep 17 00:00:00 2001 From: Shahul Hameed <10547529+shahthepro@users.noreply.github.com> Date: Tue, 28 Nov 2023 16:24:45 +0530 Subject: [PATCH 2/2] Update slither DB --- contracts/slither.db.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contracts/slither.db.json b/contracts/slither.db.json index 947b03091b..b32debd9d2 100644 --- a/contracts/slither.db.json +++ b/contracts/slither.db.json @@ -1 +1 @@ -[{"elements": [{"type": "variable", "name": "stake", "source_mapping": {"start": 3291, "length": 31, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [102], "starting_column": 13, "ending_column": 44}, "type_specific_fields": {"parent": {"type": "function", "name": "_totalExpectedRewards", "source_mapping": {"start": 3102, "length": 355, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SingleAssetStaking", "source_mapping": {"start": 466, "length": 18304, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562], "starting_column": 1, "ending_column": 2}}, "signature": "_totalExpectedRewards(SingleAssetStaking.Stake[])"}}}}, {"type": "function", "name": "stake", "source_mapping": {"start": 12724, "length": 242, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [395, 396, 397, 398], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SingleAssetStaking", "source_mapping": {"start": 466, "length": 18304, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562], "starting_column": 1, "ending_column": 2}}, "signature": "stake(uint256,uint256)"}}], "description": "SingleAssetStaking._totalExpectedRewards(SingleAssetStaking.Stake[]).stake (contracts/staking/SingleAssetStaking.sol#102) shadows:\n\t- SingleAssetStaking.stake(uint256,uint256) (contracts/staking/SingleAssetStaking.sol#395-398) (function)\n", "markdown": "[SingleAssetStaking._totalExpectedRewards(SingleAssetStaking.Stake[]).stake](contracts/staking/SingleAssetStaking.sol#L102) shadows:\n\t- [SingleAssetStaking.stake(uint256,uint256)](contracts/staking/SingleAssetStaking.sol#L395-L398) (function)\n", "first_markdown_element": "contracts/staking/SingleAssetStaking.sol#L102", "id": "9dd73390f49ff67e6e64cecf07ea5149b70961078f41623d7a34e220ac804056", "check": "shadowing-local", "impact": "Low", "confidence": "High"}, {"elements": [{"type": "variable", "name": "_stake", "source_mapping": {"start": 3487, "length": 20, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [109], "starting_column": 29, "ending_column": 49}, "type_specific_fields": {"parent": {"type": "function", "name": "_totalExpected", "source_mapping": {"start": 3463, "length": 187, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [109, 110, 111, 112, 113, 114, 115], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SingleAssetStaking", "source_mapping": {"start": 466, "length": 18304, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562], "starting_column": 1, "ending_column": 2}}, "signature": "_totalExpected(SingleAssetStaking.Stake)"}}}}, {"type": "function", "name": "_stake", "source_mapping": {"start": 4959, "length": 1129, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SingleAssetStaking", "source_mapping": {"start": 466, "length": 18304, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562], "starting_column": 1, "ending_column": 2}}, "signature": "_stake(address,uint8,uint256,uint240,uint256)"}}], "description": "SingleAssetStaking._totalExpected(SingleAssetStaking.Stake)._stake (contracts/staking/SingleAssetStaking.sol#109) shadows:\n\t- SingleAssetStaking._stake(address,uint8,uint256,uint240,uint256) (contracts/staking/SingleAssetStaking.sol#156-193) (function)\n", "markdown": "[SingleAssetStaking._totalExpected(SingleAssetStaking.Stake)._stake](contracts/staking/SingleAssetStaking.sol#L109) shadows:\n\t- [SingleAssetStaking._stake(address,uint8,uint256,uint240,uint256)](contracts/staking/SingleAssetStaking.sol#L156-L193) (function)\n", "first_markdown_element": "contracts/staking/SingleAssetStaking.sol#L109", "id": "8a1c4c887deef718424f5330bc5062498e9d38d6f5fa49d962f7b50987c344fb", "check": "shadowing-local", "impact": "Low", "confidence": "High"}, {"elements": [{"type": "variable", "name": "stake", "source_mapping": {"start": 9325, "length": 31, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [307], "starting_column": 13, "ending_column": 44}, "type_specific_fields": {"parent": {"type": "function", "name": "totalCurrentHoldings", "source_mapping": {"start": 9089, "length": 978, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SingleAssetStaking", "source_mapping": {"start": 466, "length": 18304, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562], "starting_column": 1, "ending_column": 2}}, "signature": "totalCurrentHoldings(address)"}}}}, {"type": "function", "name": "stake", "source_mapping": {"start": 12724, "length": 242, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [395, 396, 397, 398], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SingleAssetStaking", "source_mapping": {"start": 466, "length": 18304, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562], "starting_column": 1, "ending_column": 2}}, "signature": "stake(uint256,uint256)"}}], "description": "SingleAssetStaking.totalCurrentHoldings(address).stake (contracts/staking/SingleAssetStaking.sol#307) shadows:\n\t- SingleAssetStaking.stake(uint256,uint256) (contracts/staking/SingleAssetStaking.sol#395-398) (function)\n", "markdown": "[SingleAssetStaking.totalCurrentHoldings(address).stake](contracts/staking/SingleAssetStaking.sol#L307) shadows:\n\t- [SingleAssetStaking.stake(uint256,uint256)](contracts/staking/SingleAssetStaking.sol#L395-L398) (function)\n", "first_markdown_element": "contracts/staking/SingleAssetStaking.sol#L307", "id": "1c79525b3936460d2cf3f3e0405f443514b70cb404fe2bff8ea4ba8d4d5eaf96", "check": "shadowing-local", "impact": "Low", "confidence": "High"}, {"elements": [{"type": "function", "name": "initialize", "source_mapping": {"start": 1979, "length": 381, "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [56, 57, 58, 59, 60, 61, 62, 63, 64, 65], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OUSD", "source_mapping": {"start": 835, "length": 19173, "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579], "starting_column": 1, "ending_column": 2}}, "signature": "initialize(string,string,address,uint256)"}}, {"type": "node", "name": "vaultAddress = _vaultAddress", "source_mapping": {"start": 2325, "length": 28, "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [64], "starting_column": 9, "ending_column": 37}, "type_specific_fields": {"parent": {"type": "function", "name": "initialize", "source_mapping": {"start": 1979, "length": 381, "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [56, 57, 58, 59, 60, 61, 62, 63, 64, 65], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OUSD", "source_mapping": {"start": 835, "length": 19173, "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579], "starting_column": 1, "ending_column": 2}}, "signature": "initialize(string,string,address,uint256)"}}}}], "description": "OUSD.initialize(string,string,address,uint256) (contracts/token/OUSD.sol#56-65) should emit an event for: \n\t- vaultAddress = _vaultAddress (contracts/token/OUSD.sol#64) \n", "markdown": "[OUSD.initialize(string,string,address,uint256)](contracts/token/OUSD.sol#L56-L65) should emit an event for: \n\t- [vaultAddress = _vaultAddress](contracts/token/OUSD.sol#L64) \n", "first_markdown_element": "contracts/token/OUSD.sol#L56-L65", "id": "0d90bb04c73120d02c1cded42b940dd83838142909665e6db98f06b141ac4102", "check": "events-access", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "initialize", "source_mapping": {"start": 2600, "length": 1256, "filename_relative": "contracts/strategies/BaseConvexMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/BaseConvexMetaStrategy.sol", "filename_short": "contracts/strategies/BaseConvexMetaStrategy.sol", "is_dependency": false, "lines": [63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseConvexMetaStrategy", "source_mapping": {"start": 647, "length": 8927, "filename_relative": "contracts/strategies/BaseConvexMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/BaseConvexMetaStrategy.sol", "filename_short": "contracts/strategies/BaseConvexMetaStrategy.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, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251], "starting_column": 1, "ending_column": 2}}, "signature": "initialize(address[],address[],address[],BaseConvexMetaStrategy.InitConfig)"}}, {"type": "node", "name": "cvxDepositorPTokenId = initConfig.cvxDepositorPTokenId", "source_mapping": {"start": 3390, "length": 54, "filename_relative": "contracts/strategies/BaseConvexMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/BaseConvexMetaStrategy.sol", "filename_short": "contracts/strategies/BaseConvexMetaStrategy.sol", "is_dependency": false, "lines": [78], "starting_column": 9, "ending_column": 63}, "type_specific_fields": {"parent": {"type": "function", "name": "initialize", "source_mapping": {"start": 2600, "length": 1256, "filename_relative": "contracts/strategies/BaseConvexMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/BaseConvexMetaStrategy.sol", "filename_short": "contracts/strategies/BaseConvexMetaStrategy.sol", "is_dependency": false, "lines": [63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseConvexMetaStrategy", "source_mapping": {"start": 647, "length": 8927, "filename_relative": "contracts/strategies/BaseConvexMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/BaseConvexMetaStrategy.sol", "filename_short": "contracts/strategies/BaseConvexMetaStrategy.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, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251], "starting_column": 1, "ending_column": 2}}, "signature": "initialize(address[],address[],address[],BaseConvexMetaStrategy.InitConfig)"}}}}], "description": "BaseConvexMetaStrategy.initialize(address[],address[],address[],BaseConvexMetaStrategy.InitConfig) (contracts/strategies/BaseConvexMetaStrategy.sol#63-90) should emit an event for: \n\t- cvxDepositorPTokenId = initConfig.cvxDepositorPTokenId (contracts/strategies/BaseConvexMetaStrategy.sol#78) \n", "markdown": "[BaseConvexMetaStrategy.initialize(address[],address[],address[],BaseConvexMetaStrategy.InitConfig)](contracts/strategies/BaseConvexMetaStrategy.sol#L63-L90) should emit an event for: \n\t- [cvxDepositorPTokenId = initConfig.cvxDepositorPTokenId](contracts/strategies/BaseConvexMetaStrategy.sol#L78) \n", "first_markdown_element": "contracts/strategies/BaseConvexMetaStrategy.sol#L63-L90", "id": "46721d8a557fb6daf8c2662b6867e25291448b0b04abb7a31a1afc20b275f988", "check": "events-maths", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "initialize", "source_mapping": {"start": 2165, "length": 872, "filename_relative": "contracts/strategies/ConvexStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexStrategy.sol", "filename_short": "contracts/strategies/ConvexStrategy.sol", "is_dependency": false, "lines": [52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ConvexStrategy", "source_mapping": {"start": 918, "length": 5358, "filename_relative": "contracts/strategies/ConvexStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexStrategy.sol", "filename_short": "contracts/strategies/ConvexStrategy.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165], "starting_column": 1, "ending_column": 2}}, "signature": "initialize(address[],address[],address[],address,address,uint256)"}}, {"type": "node", "name": "cvxDepositorPTokenId = _cvxDepositorPTokenId", "source_mapping": {"start": 2785, "length": 44, "filename_relative": "contracts/strategies/ConvexStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexStrategy.sol", "filename_short": "contracts/strategies/ConvexStrategy.sol", "is_dependency": false, "lines": [65], "starting_column": 9, "ending_column": 53}, "type_specific_fields": {"parent": {"type": "function", "name": "initialize", "source_mapping": {"start": 2165, "length": 872, "filename_relative": "contracts/strategies/ConvexStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexStrategy.sol", "filename_short": "contracts/strategies/ConvexStrategy.sol", "is_dependency": false, "lines": [52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ConvexStrategy", "source_mapping": {"start": 918, "length": 5358, "filename_relative": "contracts/strategies/ConvexStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexStrategy.sol", "filename_short": "contracts/strategies/ConvexStrategy.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165], "starting_column": 1, "ending_column": 2}}, "signature": "initialize(address[],address[],address[],address,address,uint256)"}}}}], "description": "ConvexStrategy.initialize(address[],address[],address[],address,address,uint256) (contracts/strategies/ConvexStrategy.sol#52-74) should emit an event for: \n\t- cvxDepositorPTokenId = _cvxDepositorPTokenId (contracts/strategies/ConvexStrategy.sol#65) \n", "markdown": "[ConvexStrategy.initialize(address[],address[],address[],address,address,uint256)](contracts/strategies/ConvexStrategy.sol#L52-L74) should emit an event for: \n\t- [cvxDepositorPTokenId = _cvxDepositorPTokenId](contracts/strategies/ConvexStrategy.sol#L65) \n", "first_markdown_element": "contracts/strategies/ConvexStrategy.sol#L52-L74", "id": "72bc9b0c883df2e19dbc3a21371b86129fc27c83c55b93e76d47a06beb303a17", "check": "events-maths", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "_token", "source_mapping": {"start": 2055, "length": 14, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [59], "starting_column": 17, "ending_column": 31}, "type_specific_fields": {"parent": {"type": "function", "name": "constructor", "source_mapping": {"start": 2043, "length": 154, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [59, 60, 61, 62, 63], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompensationClaims", "source_mapping": {"start": 1527, "length": 3674, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164], "starting_column": 1, "ending_column": 2}}, "signature": "constructor(address,address)"}}}}, {"type": "node", "name": "token = _token", "source_mapping": {"start": 2113, "length": 14, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [60], "starting_column": 9, "ending_column": 23}, "type_specific_fields": {"parent": {"type": "function", "name": "constructor", "source_mapping": {"start": 2043, "length": 154, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [59, 60, 61, 62, 63], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompensationClaims", "source_mapping": {"start": 1527, "length": 3674, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164], "starting_column": 1, "ending_column": 2}}, "signature": "constructor(address,address)"}}}}], "description": "CompensationClaims.constructor(address,address)._token (contracts/compensation/CompensationClaims.sol#59) lacks a zero-check on :\n\t\t- token = _token (contracts/compensation/CompensationClaims.sol#60)\n", "markdown": "[CompensationClaims.constructor(address,address)._token](contracts/compensation/CompensationClaims.sol#L59) lacks a zero-check on :\n\t\t- [token = _token](contracts/compensation/CompensationClaims.sol#L60)\n", "first_markdown_element": "contracts/compensation/CompensationClaims.sol#L59", "id": "bd7a5e311112b74313c8ca5ec6673f8dafafa5e2be394a2523b54bba32166112", "check": "missing-zero-check", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "_adjuster", "source_mapping": {"start": 2071, "length": 17, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [59], "starting_column": 33, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "function", "name": "constructor", "source_mapping": {"start": 2043, "length": 154, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [59, 60, 61, 62, 63], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompensationClaims", "source_mapping": {"start": 1527, "length": 3674, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164], "starting_column": 1, "ending_column": 2}}, "signature": "constructor(address,address)"}}}}, {"type": "node", "name": "adjuster = _adjuster", "source_mapping": {"start": 2137, "length": 20, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [61], "starting_column": 9, "ending_column": 29}, "type_specific_fields": {"parent": {"type": "function", "name": "constructor", "source_mapping": {"start": 2043, "length": 154, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [59, 60, 61, 62, 63], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompensationClaims", "source_mapping": {"start": 1527, "length": 3674, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164], "starting_column": 1, "ending_column": 2}}, "signature": "constructor(address,address)"}}}}], "description": "CompensationClaims.constructor(address,address)._adjuster (contracts/compensation/CompensationClaims.sol#59) lacks a zero-check on :\n\t\t- adjuster = _adjuster (contracts/compensation/CompensationClaims.sol#61)\n", "markdown": "[CompensationClaims.constructor(address,address)._adjuster](contracts/compensation/CompensationClaims.sol#L59) lacks a zero-check on :\n\t\t- [adjuster = _adjuster](contracts/compensation/CompensationClaims.sol#L61)\n", "first_markdown_element": "contracts/compensation/CompensationClaims.sol#L59", "id": "3db545eb647132fea09fa1249481346d7e9869aa7d9775d2214eaaab261b5956", "check": "missing-zero-check", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "_vaultAddress", "source_mapping": {"start": 2078, "length": 21, "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [59], "starting_column": 9, "ending_column": 30}, "type_specific_fields": {"parent": {"type": "function", "name": "initialize", "source_mapping": {"start": 1979, "length": 381, "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [56, 57, 58, 59, 60, 61, 62, 63, 64, 65], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OUSD", "source_mapping": {"start": 835, "length": 19173, "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579], "starting_column": 1, "ending_column": 2}}, "signature": "initialize(string,string,address,uint256)"}}}}, {"type": "node", "name": "vaultAddress = _vaultAddress", "source_mapping": {"start": 2325, "length": 28, "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [64], "starting_column": 9, "ending_column": 37}, "type_specific_fields": {"parent": {"type": "function", "name": "initialize", "source_mapping": {"start": 1979, "length": 381, "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [56, 57, 58, 59, 60, 61, 62, 63, 64, 65], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OUSD", "source_mapping": {"start": 835, "length": 19173, "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579], "starting_column": 1, "ending_column": 2}}, "signature": "initialize(string,string,address,uint256)"}}}}], "description": "OUSD.initialize(string,string,address,uint256)._vaultAddress (contracts/token/OUSD.sol#59) lacks a zero-check on :\n\t\t- vaultAddress = _vaultAddress (contracts/token/OUSD.sol#64)\n", "markdown": "[OUSD.initialize(string,string,address,uint256)._vaultAddress](contracts/token/OUSD.sol#L59) lacks a zero-check on :\n\t\t- [vaultAddress = _vaultAddress](contracts/token/OUSD.sol#L64)\n", "first_markdown_element": "contracts/token/OUSD.sol#L59", "id": "e5d651134ca438025463985da71f74f7441b8081f24ffcde0b54d147b8c618b1", "check": "missing-zero-check", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "pendingAdmin_", "source_mapping": {"start": 2688, "length": 21, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [105], "starting_column": 30, "ending_column": 51}, "type_specific_fields": {"parent": {"type": "function", "name": "setPendingAdmin", "source_mapping": {"start": 2663, "length": 155, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [105, 106, 107, 108, 109], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Timelock", "source_mapping": {"start": 298, "length": 6391, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242], "starting_column": 1, "ending_column": 2}}, "signature": "setPendingAdmin(address)"}}}}, {"type": "node", "name": "pendingAdmin = pendingAdmin_", "source_mapping": {"start": 2738, "length": 28, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [106], "starting_column": 9, "ending_column": 37}, "type_specific_fields": {"parent": {"type": "function", "name": "setPendingAdmin", "source_mapping": {"start": 2663, "length": 155, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [105, 106, 107, 108, 109], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Timelock", "source_mapping": {"start": 298, "length": 6391, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242], "starting_column": 1, "ending_column": 2}}, "signature": "setPendingAdmin(address)"}}}}], "description": "Timelock.setPendingAdmin(address).pendingAdmin_ (contracts/timelock/Timelock.sol#105) lacks a zero-check on :\n\t\t- pendingAdmin = pendingAdmin_ (contracts/timelock/Timelock.sol#106)\n", "markdown": "[Timelock.setPendingAdmin(address).pendingAdmin_](contracts/timelock/Timelock.sol#L105) lacks a zero-check on :\n\t\t- [pendingAdmin = pendingAdmin_](contracts/timelock/Timelock.sol#L106)\n", "first_markdown_element": "contracts/timelock/Timelock.sol#L105", "id": "9a38b69c86c02177b3926889e9a882724c6856268533e973ed38f9d8548b976f", "check": "missing-zero-check", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "_logic", "source_mapping": {"start": 1381, "length": 14, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [35], "starting_column": 9, "ending_column": 23}, "type_specific_fields": {"parent": {"type": "function", "name": "initialize", "source_mapping": {"start": 1352, "length": 545, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "InitializeGovernedUpgradeabilityProxy", "source_mapping": {"start": 450, "length": 6294, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [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], "starting_column": 1, "ending_column": 2}}, "signature": "initialize(address,address,bytes)"}}}}, {"type": "node", "name": "(success) = _logic.delegatecall(_data)", "source_mapping": {"start": 1765, "length": 45, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [46], "starting_column": 13, "ending_column": 58}, "type_specific_fields": {"parent": {"type": "function", "name": "initialize", "source_mapping": {"start": 1352, "length": 545, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "InitializeGovernedUpgradeabilityProxy", "source_mapping": {"start": 450, "length": 6294, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [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], "starting_column": 1, "ending_column": 2}}, "signature": "initialize(address,address,bytes)"}}}}], "description": "InitializeGovernedUpgradeabilityProxy.initialize(address,address,bytes)._logic (contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#35) lacks a zero-check on :\n\t\t- (success) = _logic.delegatecall(_data) (contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#46)\n", "markdown": "[InitializeGovernedUpgradeabilityProxy.initialize(address,address,bytes)._logic](contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#L35) lacks a zero-check on :\n\t\t- [(success) = _logic.delegatecall(_data)](contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#L46)\n", "first_markdown_element": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#L35", "id": "46b158d43224279b8e4e59265414c43e597fef64c2552d235a8c85aeda35357b", "check": "missing-zero-check", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "newImplementation", "source_mapping": {"start": 3117, "length": 25, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [84], "starting_column": 31, "ending_column": 56}, "type_specific_fields": {"parent": {"type": "function", "name": "upgradeToAndCall", "source_mapping": {"start": 3091, "length": 269, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [84, 85, 86, 87, 88, 89, 90, 91, 92], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "InitializeGovernedUpgradeabilityProxy", "source_mapping": {"start": 450, "length": 6294, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [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], "starting_column": 1, "ending_column": 2}}, "signature": "upgradeToAndCall(address,bytes)"}}}}, {"type": "node", "name": "(success) = newImplementation.delegatecall(data)", "source_mapping": {"start": 3272, "length": 55, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [90], "starting_column": 9, "ending_column": 64}, "type_specific_fields": {"parent": {"type": "function", "name": "upgradeToAndCall", "source_mapping": {"start": 3091, "length": 269, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [84, 85, 86, 87, 88, 89, 90, 91, 92], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "InitializeGovernedUpgradeabilityProxy", "source_mapping": {"start": 450, "length": 6294, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [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], "starting_column": 1, "ending_column": 2}}, "signature": "upgradeToAndCall(address,bytes)"}}}}], "description": "InitializeGovernedUpgradeabilityProxy.upgradeToAndCall(address,bytes).newImplementation (contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#84) lacks a zero-check on :\n\t\t- (success) = newImplementation.delegatecall(data) (contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#90)\n", "markdown": "[InitializeGovernedUpgradeabilityProxy.upgradeToAndCall(address,bytes).newImplementation](contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#L84) lacks a zero-check on :\n\t\t- [(success) = newImplementation.delegatecall(data)](contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#L90)\n", "first_markdown_element": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#L84", "id": "2f81daf5f6f44bc96c296119bdfa6a6da965b8f5f2c330394c9a1f3970654e31", "check": "missing-zero-check", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "_agent", "source_mapping": {"start": 17401, "length": 14, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [519], "starting_column": 31, "ending_column": 45}, "type_specific_fields": {"parent": {"type": "function", "name": "setTransferAgent", "source_mapping": {"start": 17375, "length": 103, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [519, 520, 521], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SingleAssetStaking", "source_mapping": {"start": 466, "length": 18304, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562], "starting_column": 1, "ending_column": 2}}, "signature": "setTransferAgent(address)"}}}}, {"type": "node", "name": "transferAgent = _agent", "source_mapping": {"start": 17449, "length": 22, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [520], "starting_column": 9, "ending_column": 31}, "type_specific_fields": {"parent": {"type": "function", "name": "setTransferAgent", "source_mapping": {"start": 17375, "length": 103, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [519, 520, 521], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SingleAssetStaking", "source_mapping": {"start": 466, "length": 18304, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562], "starting_column": 1, "ending_column": 2}}, "signature": "setTransferAgent(address)"}}}}], "description": "SingleAssetStaking.setTransferAgent(address)._agent (contracts/staking/SingleAssetStaking.sol#519) lacks a zero-check on :\n\t\t- transferAgent = _agent (contracts/staking/SingleAssetStaking.sol#520)\n", "markdown": "[SingleAssetStaking.setTransferAgent(address)._agent](contracts/staking/SingleAssetStaking.sol#L519) lacks a zero-check on :\n\t\t- [transferAgent = _agent](contracts/staking/SingleAssetStaking.sol#L520)\n", "first_markdown_element": "contracts/staking/SingleAssetStaking.sol#L519", "id": "f2d63b6419cd2ebbc5ac8bc570c47a3f067f3b1ef0b92a818e5d0c07a7e02e70", "check": "missing-zero-check", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "_harvesterAddress", "source_mapping": {"start": 9512, "length": 25, "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [284], "starting_column": 34, "ending_column": 59}, "type_specific_fields": {"parent": {"type": "function", "name": "setHarvesterAddress", "source_mapping": {"start": 9483, "length": 228, "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [284, 285, 286, 287, 288, 289, 290], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "InitializableAbstractStrategy", "source_mapping": {"start": 472, "length": 11152, "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351], "starting_column": 1, "ending_column": 2}}, "signature": "setHarvesterAddress(address)"}}}}, {"type": "node", "name": "harvesterAddress = _harvesterAddress", "source_mapping": {"start": 9668, "length": 36, "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [289], "starting_column": 9, "ending_column": 45}, "type_specific_fields": {"parent": {"type": "function", "name": "setHarvesterAddress", "source_mapping": {"start": 9483, "length": 228, "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [284, 285, 286, 287, 288, 289, 290], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "InitializableAbstractStrategy", "source_mapping": {"start": 472, "length": 11152, "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351], "starting_column": 1, "ending_column": 2}}, "signature": "setHarvesterAddress(address)"}}}}], "description": "InitializableAbstractStrategy.setHarvesterAddress(address)._harvesterAddress (contracts/utils/InitializableAbstractStrategy.sol#284) lacks a zero-check on :\n\t\t- harvesterAddress = _harvesterAddress (contracts/utils/InitializableAbstractStrategy.sol#289)\n", "markdown": "[InitializableAbstractStrategy.setHarvesterAddress(address)._harvesterAddress](contracts/utils/InitializableAbstractStrategy.sol#L284) lacks a zero-check on :\n\t\t- [harvesterAddress = _harvesterAddress](contracts/utils/InitializableAbstractStrategy.sol#L289)\n", "first_markdown_element": "contracts/utils/InitializableAbstractStrategy.sol#L284", "id": "d143cc7b353a06e136acbce2aa45bf9302e50de00e1a478565bbe1b8989abaa3", "check": "missing-zero-check", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "_cvxDepositorAddress", "source_mapping": {"start": 2330, "length": 28, "filename_relative": "contracts/strategies/ConvexStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexStrategy.sol", "filename_short": "contracts/strategies/ConvexStrategy.sol", "is_dependency": false, "lines": [56], "starting_column": 9, "ending_column": 37}, "type_specific_fields": {"parent": {"type": "function", "name": "initialize", "source_mapping": {"start": 2165, "length": 872, "filename_relative": "contracts/strategies/ConvexStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexStrategy.sol", "filename_short": "contracts/strategies/ConvexStrategy.sol", "is_dependency": false, "lines": [52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ConvexStrategy", "source_mapping": {"start": 918, "length": 5358, "filename_relative": "contracts/strategies/ConvexStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexStrategy.sol", "filename_short": "contracts/strategies/ConvexStrategy.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165], "starting_column": 1, "ending_column": 2}}, "signature": "initialize(address[],address[],address[],address,address,uint256)"}}}}, {"type": "node", "name": "cvxDepositorAddress = _cvxDepositorAddress", "source_mapping": {"start": 2675, "length": 42, "filename_relative": "contracts/strategies/ConvexStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexStrategy.sol", "filename_short": "contracts/strategies/ConvexStrategy.sol", "is_dependency": false, "lines": [63], "starting_column": 9, "ending_column": 51}, "type_specific_fields": {"parent": {"type": "function", "name": "initialize", "source_mapping": {"start": 2165, "length": 872, "filename_relative": "contracts/strategies/ConvexStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexStrategy.sol", "filename_short": "contracts/strategies/ConvexStrategy.sol", "is_dependency": false, "lines": [52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ConvexStrategy", "source_mapping": {"start": 918, "length": 5358, "filename_relative": "contracts/strategies/ConvexStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexStrategy.sol", "filename_short": "contracts/strategies/ConvexStrategy.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165], "starting_column": 1, "ending_column": 2}}, "signature": "initialize(address[],address[],address[],address,address,uint256)"}}}}], "description": "ConvexStrategy.initialize(address[],address[],address[],address,address,uint256)._cvxDepositorAddress (contracts/strategies/ConvexStrategy.sol#56) lacks a zero-check on :\n\t\t- cvxDepositorAddress = _cvxDepositorAddress (contracts/strategies/ConvexStrategy.sol#63)\n", "markdown": "[ConvexStrategy.initialize(address[],address[],address[],address,address,uint256)._cvxDepositorAddress](contracts/strategies/ConvexStrategy.sol#L56) lacks a zero-check on :\n\t\t- [cvxDepositorAddress = _cvxDepositorAddress](contracts/strategies/ConvexStrategy.sol#L63)\n", "first_markdown_element": "contracts/strategies/ConvexStrategy.sol#L56", "id": "3213523927f091aa04ef8e7d02a3f43dbbb6b0627bffa9f29bd4ff7c25650f30", "check": "missing-zero-check", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "_cvxRewardStakerAddress", "source_mapping": {"start": 2368, "length": 31, "filename_relative": "contracts/strategies/ConvexStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexStrategy.sol", "filename_short": "contracts/strategies/ConvexStrategy.sol", "is_dependency": false, "lines": [57], "starting_column": 9, "ending_column": 40}, "type_specific_fields": {"parent": {"type": "function", "name": "initialize", "source_mapping": {"start": 2165, "length": 872, "filename_relative": "contracts/strategies/ConvexStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexStrategy.sol", "filename_short": "contracts/strategies/ConvexStrategy.sol", "is_dependency": false, "lines": [52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ConvexStrategy", "source_mapping": {"start": 918, "length": 5358, "filename_relative": "contracts/strategies/ConvexStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexStrategy.sol", "filename_short": "contracts/strategies/ConvexStrategy.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165], "starting_column": 1, "ending_column": 2}}, "signature": "initialize(address[],address[],address[],address,address,uint256)"}}}}, {"type": "node", "name": "cvxRewardStakerAddress = _cvxRewardStakerAddress", "source_mapping": {"start": 2727, "length": 48, "filename_relative": "contracts/strategies/ConvexStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexStrategy.sol", "filename_short": "contracts/strategies/ConvexStrategy.sol", "is_dependency": false, "lines": [64], "starting_column": 9, "ending_column": 57}, "type_specific_fields": {"parent": {"type": "function", "name": "initialize", "source_mapping": {"start": 2165, "length": 872, "filename_relative": "contracts/strategies/ConvexStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexStrategy.sol", "filename_short": "contracts/strategies/ConvexStrategy.sol", "is_dependency": false, "lines": [52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ConvexStrategy", "source_mapping": {"start": 918, "length": 5358, "filename_relative": "contracts/strategies/ConvexStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexStrategy.sol", "filename_short": "contracts/strategies/ConvexStrategy.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165], "starting_column": 1, "ending_column": 2}}, "signature": "initialize(address[],address[],address[],address,address,uint256)"}}}}], "description": "ConvexStrategy.initialize(address[],address[],address[],address,address,uint256)._cvxRewardStakerAddress (contracts/strategies/ConvexStrategy.sol#57) lacks a zero-check on :\n\t\t- cvxRewardStakerAddress = _cvxRewardStakerAddress (contracts/strategies/ConvexStrategy.sol#64)\n", "markdown": "[ConvexStrategy.initialize(address[],address[],address[],address,address,uint256)._cvxRewardStakerAddress](contracts/strategies/ConvexStrategy.sol#L57) lacks a zero-check on :\n\t\t- [cvxRewardStakerAddress = _cvxRewardStakerAddress](contracts/strategies/ConvexStrategy.sol#L64)\n", "first_markdown_element": "contracts/strategies/ConvexStrategy.sol#L57", "id": "da534688094e24bafaa043ae6cc94bc5ffeb25c2a382cfcccd4aaf4e6d42623a", "check": "missing-zero-check", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "_crvGaugeAddress", "source_mapping": {"start": 2040, "length": 24, "filename_relative": "contracts/strategies/ThreePoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ThreePoolStrategy.sol", "filename_short": "contracts/strategies/ThreePoolStrategy.sol", "is_dependency": false, "lines": [52], "starting_column": 9, "ending_column": 33}, "type_specific_fields": {"parent": {"type": "function", "name": "initialize", "source_mapping": {"start": 1883, "length": 738, "filename_relative": "contracts/strategies/ThreePoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ThreePoolStrategy.sol", "filename_short": "contracts/strategies/ThreePoolStrategy.sol", "is_dependency": false, "lines": [48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ThreePoolStrategy", "source_mapping": {"start": 907, "length": 4607, "filename_relative": "contracts/strategies/ThreePoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ThreePoolStrategy.sol", "filename_short": "contracts/strategies/ThreePoolStrategy.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147], "starting_column": 1, "ending_column": 2}}, "signature": "initialize(address[],address[],address[],address,address)"}}}}, {"type": "node", "name": "crvGaugeAddress = _crvGaugeAddress", "source_mapping": {"start": 2336, "length": 34, "filename_relative": "contracts/strategies/ThreePoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ThreePoolStrategy.sol", "filename_short": "contracts/strategies/ThreePoolStrategy.sol", "is_dependency": false, "lines": [58], "starting_column": 9, "ending_column": 43}, "type_specific_fields": {"parent": {"type": "function", "name": "initialize", "source_mapping": {"start": 1883, "length": 738, "filename_relative": "contracts/strategies/ThreePoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ThreePoolStrategy.sol", "filename_short": "contracts/strategies/ThreePoolStrategy.sol", "is_dependency": false, "lines": [48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ThreePoolStrategy", "source_mapping": {"start": 907, "length": 4607, "filename_relative": "contracts/strategies/ThreePoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ThreePoolStrategy.sol", "filename_short": "contracts/strategies/ThreePoolStrategy.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147], "starting_column": 1, "ending_column": 2}}, "signature": "initialize(address[],address[],address[],address,address)"}}}}], "description": "ThreePoolStrategy.initialize(address[],address[],address[],address,address)._crvGaugeAddress (contracts/strategies/ThreePoolStrategy.sol#52) lacks a zero-check on :\n\t\t- crvGaugeAddress = _crvGaugeAddress (contracts/strategies/ThreePoolStrategy.sol#58)\n", "markdown": "[ThreePoolStrategy.initialize(address[],address[],address[],address,address)._crvGaugeAddress](contracts/strategies/ThreePoolStrategy.sol#L52) lacks a zero-check on :\n\t\t- [crvGaugeAddress = _crvGaugeAddress](contracts/strategies/ThreePoolStrategy.sol#L58)\n", "first_markdown_element": "contracts/strategies/ThreePoolStrategy.sol#L52", "id": "6f35bd932d18113cc4d1bb7b0bf9a8b775fab30b5f848ae3478ab2f421b379b3", "check": "missing-zero-check", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "_crvMinterAddress", "source_mapping": {"start": 2074, "length": 25, "filename_relative": "contracts/strategies/ThreePoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ThreePoolStrategy.sol", "filename_short": "contracts/strategies/ThreePoolStrategy.sol", "is_dependency": false, "lines": [53], "starting_column": 9, "ending_column": 34}, "type_specific_fields": {"parent": {"type": "function", "name": "initialize", "source_mapping": {"start": 1883, "length": 738, "filename_relative": "contracts/strategies/ThreePoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ThreePoolStrategy.sol", "filename_short": "contracts/strategies/ThreePoolStrategy.sol", "is_dependency": false, "lines": [48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ThreePoolStrategy", "source_mapping": {"start": 907, "length": 4607, "filename_relative": "contracts/strategies/ThreePoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ThreePoolStrategy.sol", "filename_short": "contracts/strategies/ThreePoolStrategy.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147], "starting_column": 1, "ending_column": 2}}, "signature": "initialize(address[],address[],address[],address,address)"}}}}, {"type": "node", "name": "crvMinterAddress = _crvMinterAddress", "source_mapping": {"start": 2380, "length": 36, "filename_relative": "contracts/strategies/ThreePoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ThreePoolStrategy.sol", "filename_short": "contracts/strategies/ThreePoolStrategy.sol", "is_dependency": false, "lines": [59], "starting_column": 9, "ending_column": 45}, "type_specific_fields": {"parent": {"type": "function", "name": "initialize", "source_mapping": {"start": 1883, "length": 738, "filename_relative": "contracts/strategies/ThreePoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ThreePoolStrategy.sol", "filename_short": "contracts/strategies/ThreePoolStrategy.sol", "is_dependency": false, "lines": [48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ThreePoolStrategy", "source_mapping": {"start": 907, "length": 4607, "filename_relative": "contracts/strategies/ThreePoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ThreePoolStrategy.sol", "filename_short": "contracts/strategies/ThreePoolStrategy.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147], "starting_column": 1, "ending_column": 2}}, "signature": "initialize(address[],address[],address[],address,address)"}}}}], "description": "ThreePoolStrategy.initialize(address[],address[],address[],address,address)._crvMinterAddress (contracts/strategies/ThreePoolStrategy.sol#53) lacks a zero-check on :\n\t\t- crvMinterAddress = _crvMinterAddress (contracts/strategies/ThreePoolStrategy.sol#59)\n", "markdown": "[ThreePoolStrategy.initialize(address[],address[],address[],address,address)._crvMinterAddress](contracts/strategies/ThreePoolStrategy.sol#L53) lacks a zero-check on :\n\t\t- [crvMinterAddress = _crvMinterAddress](contracts/strategies/ThreePoolStrategy.sol#L59)\n", "first_markdown_element": "contracts/strategies/ThreePoolStrategy.sol#L53", "id": "9f74241bfc7306eeff84a69c4d22a76a58167bf3ee8d15860195cde3c58436fe", "check": "missing-zero-check", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "_priceProvider", "source_mapping": {"start": 1209, "length": 22, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [42], "starting_column": 31, "ending_column": 53}, "type_specific_fields": {"parent": {"type": "function", "name": "setPriceProvider", "source_mapping": {"start": 1183, "length": 170, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [42, 43, 44, 45], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultAdmin", "source_mapping": {"start": 549, "length": 22063, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638], "starting_column": 1, "ending_column": 2}}, "signature": "setPriceProvider(address)"}}}}, {"type": "node", "name": "priceProvider = _priceProvider", "source_mapping": {"start": 1265, "length": 30, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [43], "starting_column": 9, "ending_column": 39}, "type_specific_fields": {"parent": {"type": "function", "name": "setPriceProvider", "source_mapping": {"start": 1183, "length": 170, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [42, 43, 44, 45], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultAdmin", "source_mapping": {"start": 549, "length": 22063, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638], "starting_column": 1, "ending_column": 2}}, "signature": "setPriceProvider(address)"}}}}], "description": "VaultAdmin.setPriceProvider(address)._priceProvider (contracts/vault/VaultAdmin.sol#42) lacks a zero-check on :\n\t\t- priceProvider = _priceProvider (contracts/vault/VaultAdmin.sol#43)\n", "markdown": "[VaultAdmin.setPriceProvider(address)._priceProvider](contracts/vault/VaultAdmin.sol#L42) lacks a zero-check on :\n\t\t- [priceProvider = _priceProvider](contracts/vault/VaultAdmin.sol#L43)\n", "first_markdown_element": "contracts/vault/VaultAdmin.sol#L42", "id": "3deb594a427270bd4a0db0885bbe96aac61a2aaba39e843358e913b90ac09f80", "check": "missing-zero-check", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "_address", "source_mapping": {"start": 3121, "length": 16, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [98], "starting_column": 32, "ending_column": 48}, "type_specific_fields": {"parent": {"type": "function", "name": "setStrategistAddr", "source_mapping": {"start": 3094, "length": 151, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [98, 99, 100, 101], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultAdmin", "source_mapping": {"start": 549, "length": 22063, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638], "starting_column": 1, "ending_column": 2}}, "signature": "setStrategistAddr(address)"}}}}, {"type": "node", "name": "strategistAddr = _address", "source_mapping": {"start": 3171, "length": 25, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [99], "starting_column": 9, "ending_column": 34}, "type_specific_fields": {"parent": {"type": "function", "name": "setStrategistAddr", "source_mapping": {"start": 3094, "length": 151, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [98, 99, 100, 101], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultAdmin", "source_mapping": {"start": 549, "length": 22063, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638], "starting_column": 1, "ending_column": 2}}, "signature": "setStrategistAddr(address)"}}}}], "description": "VaultAdmin.setStrategistAddr(address)._address (contracts/vault/VaultAdmin.sol#98) lacks a zero-check on :\n\t\t- strategistAddr = _address (contracts/vault/VaultAdmin.sol#99)\n", "markdown": "[VaultAdmin.setStrategistAddr(address)._address](contracts/vault/VaultAdmin.sol#L98) lacks a zero-check on :\n\t\t- [strategistAddr = _address](contracts/vault/VaultAdmin.sol#L99)\n", "first_markdown_element": "contracts/vault/VaultAdmin.sol#L98", "id": "252e9425a95e011fc9e4c72bd7af4cc4b72e09bec95203a4a3cb534b519a9c93", "check": "missing-zero-check", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "_address", "source_mapping": {"start": 18758, "length": 16, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [514], "starting_column": 32, "ending_column": 48}, "type_specific_fields": {"parent": {"type": "function", "name": "setTrusteeAddress", "source_mapping": {"start": 18731, "length": 155, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [514, 515, 516, 517], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultAdmin", "source_mapping": {"start": 549, "length": 22063, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638], "starting_column": 1, "ending_column": 2}}, "signature": "setTrusteeAddress(address)"}}}}, {"type": "node", "name": "trusteeAddress = _address", "source_mapping": {"start": 18808, "length": 25, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [515], "starting_column": 9, "ending_column": 34}, "type_specific_fields": {"parent": {"type": "function", "name": "setTrusteeAddress", "source_mapping": {"start": 18731, "length": 155, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [514, 515, 516, 517], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultAdmin", "source_mapping": {"start": 549, "length": 22063, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638], "starting_column": 1, "ending_column": 2}}, "signature": "setTrusteeAddress(address)"}}}}], "description": "VaultAdmin.setTrusteeAddress(address)._address (contracts/vault/VaultAdmin.sol#514) lacks a zero-check on :\n\t\t- trusteeAddress = _address (contracts/vault/VaultAdmin.sol#515)\n", "markdown": "[VaultAdmin.setTrusteeAddress(address)._address](contracts/vault/VaultAdmin.sol#L514) lacks a zero-check on :\n\t\t- [trusteeAddress = _address](contracts/vault/VaultAdmin.sol#L515)\n", "first_markdown_element": "contracts/vault/VaultAdmin.sol#L514", "id": "7d1c32f4b99d0bffc07196369c205fb2ae9e651ae1d272274db541037bd71d09", "check": "missing-zero-check", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "_ousdMetaStrategy", "source_mapping": {"start": 19395, "length": 25, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [533], "starting_column": 34, "ending_column": 59}, "type_specific_fields": {"parent": {"type": "function", "name": "setOusdMetaStrategy", "source_mapping": {"start": 19366, "length": 208, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [533, 534, 535, 536, 537, 538, 539], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultAdmin", "source_mapping": {"start": 549, "length": 22063, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638], "starting_column": 1, "ending_column": 2}}, "signature": "setOusdMetaStrategy(address)"}}}}, {"type": "node", "name": "ousdMetaStrategy = _ousdMetaStrategy", "source_mapping": {"start": 19474, "length": 36, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [537], "starting_column": 9, "ending_column": 45}, "type_specific_fields": {"parent": {"type": "function", "name": "setOusdMetaStrategy", "source_mapping": {"start": 19366, "length": 208, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [533, 534, 535, 536, 537, 538, 539], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultAdmin", "source_mapping": {"start": 549, "length": 22063, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638], "starting_column": 1, "ending_column": 2}}, "signature": "setOusdMetaStrategy(address)"}}}}], "description": "VaultAdmin.setOusdMetaStrategy(address)._ousdMetaStrategy (contracts/vault/VaultAdmin.sol#533) lacks a zero-check on :\n\t\t- ousdMetaStrategy = _ousdMetaStrategy (contracts/vault/VaultAdmin.sol#537)\n", "markdown": "[VaultAdmin.setOusdMetaStrategy(address)._ousdMetaStrategy](contracts/vault/VaultAdmin.sol#L533) lacks a zero-check on :\n\t\t- [ousdMetaStrategy = _ousdMetaStrategy](contracts/vault/VaultAdmin.sol#L537)\n", "first_markdown_element": "contracts/vault/VaultAdmin.sol#L533", "id": "28babfaed1526634e7a895660f18804eb22718683b18403c7678739cb4fe6a2d", "check": "missing-zero-check", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "executeTransaction", "source_mapping": {"start": 4611, "length": 1434, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Timelock", "source_mapping": {"start": 298, "length": 6391, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242], "starting_column": 1, "ending_column": 2}}, "signature": "executeTransaction(address,string,bytes,uint256)"}}, {"type": "node", "name": "(success,returnData) = target.call(callData)", "source_mapping": {"start": 5793, "length": 63, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [211], "starting_column": 9, "ending_column": 72}, "type_specific_fields": {"parent": {"type": "function", "name": "executeTransaction", "source_mapping": {"start": 4611, "length": 1434, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Timelock", "source_mapping": {"start": 298, "length": 6391, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242], "starting_column": 1, "ending_column": 2}}, "signature": "executeTransaction(address,string,bytes,uint256)"}}}}], "description": "Timelock.executeTransaction(address,string,bytes,uint256) (contracts/timelock/Timelock.sol#171-220) has external calls inside a loop: (success,returnData) = target.call(callData) (contracts/timelock/Timelock.sol#211)\n", "markdown": "[Timelock.executeTransaction(address,string,bytes,uint256)](contracts/timelock/Timelock.sol#L171-L220) has external calls inside a loop: [(success,returnData) = target.call(callData)](contracts/timelock/Timelock.sol#L211)\n", "first_markdown_element": "contracts/timelock/Timelock.sol#L171-L220", "id": "815e942a7362f173d569e0a7c2f4c380dd0b4f0cbc9ddf9defee68ea5c0415a7", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "depositAll", "source_mapping": {"start": 2980, "length": 317, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.sol", "is_dependency": false, "lines": [88, 89, 90, 91, 92, 93, 94, 95], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AaveStrategy", "source_mapping": {"start": 536, "length": 10399, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305], "starting_column": 1, "ending_column": 2}}, "signature": "depositAll()"}}, {"type": "node", "name": "balance = IERC20(assetsMapped[i]).balanceOf(address(this))", "source_mapping": {"start": 3117, "length": 66, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.sol", "is_dependency": false, "lines": [90], "starting_column": 13, "ending_column": 79}, "type_specific_fields": {"parent": {"type": "function", "name": "depositAll", "source_mapping": {"start": 2980, "length": 317, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.sol", "is_dependency": false, "lines": [88, 89, 90, 91, 92, 93, 94, 95], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AaveStrategy", "source_mapping": {"start": 536, "length": 10399, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305], "starting_column": 1, "ending_column": 2}}, "signature": "depositAll()"}}}}], "description": "AaveStrategy.depositAll() (contracts/strategies/AaveStrategy.sol#88-95) has external calls inside a loop: balance = IERC20(assetsMapped[i]).balanceOf(address(this)) (contracts/strategies/AaveStrategy.sol#90)\n", "markdown": "[AaveStrategy.depositAll()](contracts/strategies/AaveStrategy.sol#L88-L95) has external calls inside a loop: [balance = IERC20(assetsMapped[i]).balanceOf(address(this))](contracts/strategies/AaveStrategy.sol#L90)\n", "first_markdown_element": "contracts/strategies/AaveStrategy.sol#L88-L95", "id": "7686dd6183d0c233d6c0ef173f8ea17264005132d1e3daad6cb43161c2b284fa", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_getLendingPool", "source_mapping": {"start": 7819, "length": 304, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.sol", "is_dependency": false, "lines": [225, 226, 227, 228, 229, 230], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AaveStrategy", "source_mapping": {"start": 536, "length": 10399, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305], "starting_column": 1, "ending_column": 2}}, "signature": "_getLendingPool()"}}, {"type": "node", "name": "lendingPool = ILendingPoolAddressesProvider(platformAddress).getLendingPool()", "source_mapping": {"start": 7897, "length": 98, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.sol", "is_dependency": false, "lines": [226, 227], "starting_column": 9, "ending_column": 30}, "type_specific_fields": {"parent": {"type": "function", "name": "_getLendingPool", "source_mapping": {"start": 7819, "length": 304, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.sol", "is_dependency": false, "lines": [225, 226, 227, 228, 229, 230], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AaveStrategy", "source_mapping": {"start": 536, "length": 10399, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305], "starting_column": 1, "ending_column": 2}}, "signature": "_getLendingPool()"}}}}], "description": "AaveStrategy._getLendingPool() (contracts/strategies/AaveStrategy.sol#225-230) has external calls inside a loop: lendingPool = ILendingPoolAddressesProvider(platformAddress).getLendingPool() (contracts/strategies/AaveStrategy.sol#226-227)\n", "markdown": "[AaveStrategy._getLendingPool()](contracts/strategies/AaveStrategy.sol#L225-L230) has external calls inside a loop: [lendingPool = ILendingPoolAddressesProvider(platformAddress).getLendingPool()](contracts/strategies/AaveStrategy.sol#L226-L227)\n", "first_markdown_element": "contracts/strategies/AaveStrategy.sol#L225-L230", "id": "4bb181f0a78c9a355f007fde6a11ec1cbb6c7356b376729891915e40a7c6110c", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_deposit", "source_mapping": {"start": 2510, "length": 376, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.sol", "is_dependency": false, "lines": [77, 78, 79, 80, 81, 82, 83], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AaveStrategy", "source_mapping": {"start": 536, "length": 10399, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305], "starting_column": 1, "ending_column": 2}}, "signature": "_deposit(address,uint256)"}}, {"type": "node", "name": "_getLendingPool().deposit(_asset,_amount,address(this),referralCode)", "source_mapping": {"start": 2808, "length": 71, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.sol", "is_dependency": false, "lines": [82], "starting_column": 9, "ending_column": 80}, "type_specific_fields": {"parent": {"type": "function", "name": "_deposit", "source_mapping": {"start": 2510, "length": 376, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.sol", "is_dependency": false, "lines": [77, 78, 79, 80, 81, 82, 83], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AaveStrategy", "source_mapping": {"start": 536, "length": 10399, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305], "starting_column": 1, "ending_column": 2}}, "signature": "_deposit(address,uint256)"}}}}], "description": "AaveStrategy._deposit(address,uint256) (contracts/strategies/AaveStrategy.sol#77-83) has external calls inside a loop: _getLendingPool().deposit(_asset,_amount,address(this),referralCode) (contracts/strategies/AaveStrategy.sol#82)\n", "markdown": "[AaveStrategy._deposit(address,uint256)](contracts/strategies/AaveStrategy.sol#L77-L83) has external calls inside a loop: [_getLendingPool().deposit(_asset,_amount,address(this),referralCode)](contracts/strategies/AaveStrategy.sol#L82)\n", "first_markdown_element": "contracts/strategies/AaveStrategy.sol#L77-L83", "id": "c35bfc6fba74dfc455c150b843b77a3b5aa6e153f16a8f2c3c08ba94977d23f3", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "withdrawAll", "source_mapping": {"start": 4208, "length": 937, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.sol", "is_dependency": false, "lines": [124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AaveStrategy", "source_mapping": {"start": 536, "length": 10399, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305], "starting_column": 1, "ending_column": 2}}, "signature": "withdrawAll()"}}, {"type": "node", "name": "balance = IERC20(aToken).balanceOf(address(this))", "source_mapping": {"start": 4516, "length": 57, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.sol", "is_dependency": false, "lines": [129], "starting_column": 13, "ending_column": 70}, "type_specific_fields": {"parent": {"type": "function", "name": "withdrawAll", "source_mapping": {"start": 4208, "length": 937, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.sol", "is_dependency": false, "lines": [124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AaveStrategy", "source_mapping": {"start": 536, "length": 10399, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305], "starting_column": 1, "ending_column": 2}}, "signature": "withdrawAll()"}}}}], "description": "AaveStrategy.withdrawAll() (contracts/strategies/AaveStrategy.sol#124-145) has external calls inside a loop: balance = IERC20(aToken).balanceOf(address(this)) (contracts/strategies/AaveStrategy.sol#129)\n", "markdown": "[AaveStrategy.withdrawAll()](contracts/strategies/AaveStrategy.sol#L124-L145) has external calls inside a loop: [balance = IERC20(aToken).balanceOf(address(this))](contracts/strategies/AaveStrategy.sol#L129)\n", "first_markdown_element": "contracts/strategies/AaveStrategy.sol#L124-L145", "id": "1748bb83b0ab018b31c2a0a51912ee976d27ea6966b10afa0d540c9175e5ffe3", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "withdrawAll", "source_mapping": {"start": 4208, "length": 937, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.sol", "is_dependency": false, "lines": [124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AaveStrategy", "source_mapping": {"start": 536, "length": 10399, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305], "starting_column": 1, "ending_column": 2}}, "signature": "withdrawAll()"}}, {"type": "node", "name": "actual = _getLendingPool().withdraw(address(asset),balance,address(this))", "source_mapping": {"start": 4622, "length": 161, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.sol", "is_dependency": false, "lines": [131, 132, 133, 134, 135], "starting_column": 17, "ending_column": 18}, "type_specific_fields": {"parent": {"type": "function", "name": "withdrawAll", "source_mapping": {"start": 4208, "length": 937, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.sol", "is_dependency": false, "lines": [124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AaveStrategy", "source_mapping": {"start": 536, "length": 10399, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305], "starting_column": 1, "ending_column": 2}}, "signature": "withdrawAll()"}}}}], "description": "AaveStrategy.withdrawAll() (contracts/strategies/AaveStrategy.sol#124-145) has external calls inside a loop: actual = _getLendingPool().withdraw(address(asset),balance,address(this)) (contracts/strategies/AaveStrategy.sol#131-135)\n", "markdown": "[AaveStrategy.withdrawAll()](contracts/strategies/AaveStrategy.sol#L124-L145) has external calls inside a loop: [actual = _getLendingPool().withdraw(address(asset),balance,address(this))](contracts/strategies/AaveStrategy.sol#L131-L135)\n", "first_markdown_element": "contracts/strategies/AaveStrategy.sol#L124-L145", "id": "d22b2f64776cd06c6f597cea2a4e57afb99165cc02ae4a2e4ede576c324cac52", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "withdrawAll", "source_mapping": {"start": 4208, "length": 937, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.sol", "is_dependency": false, "lines": [124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AaveStrategy", "source_mapping": {"start": 536, "length": 10399, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305], "starting_column": 1, "ending_column": 2}}, "signature": "withdrawAll()"}}, {"type": "node", "name": "assetBalance = asset.balanceOf(address(this))", "source_mapping": {"start": 4873, "length": 53, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.sol", "is_dependency": false, "lines": [138], "starting_column": 17, "ending_column": 70}, "type_specific_fields": {"parent": {"type": "function", "name": "withdrawAll", "source_mapping": {"start": 4208, "length": 937, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.sol", "is_dependency": false, "lines": [124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AaveStrategy", "source_mapping": {"start": 536, "length": 10399, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305], "starting_column": 1, "ending_column": 2}}, "signature": "withdrawAll()"}}}}], "description": "AaveStrategy.withdrawAll() (contracts/strategies/AaveStrategy.sol#124-145) has external calls inside a loop: assetBalance = asset.balanceOf(address(this)) (contracts/strategies/AaveStrategy.sol#138)\n", "markdown": "[AaveStrategy.withdrawAll()](contracts/strategies/AaveStrategy.sol#L124-L145) has external calls inside a loop: [assetBalance = asset.balanceOf(address(this))](contracts/strategies/AaveStrategy.sol#L138)\n", "first_markdown_element": "contracts/strategies/AaveStrategy.sol#L124-L145", "id": "7388933ebb9596d44a5f89fadf802725bb5702925a16bf7719fc3cd8adc2ba91", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "depositAll", "source_mapping": {"start": 2273, "length": 1730, "filename_relative": "contracts/strategies/BaseCurveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/BaseCurveStrategy.sol", "filename_short": "contracts/strategies/BaseCurveStrategy.sol", "is_dependency": false, "lines": [65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseCurveStrategy", "source_mapping": {"start": 536, "length": 11031, "filename_relative": "contracts/strategies/BaseCurveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/BaseCurveStrategy.sol", "filename_short": "contracts/strategies/BaseCurveStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302], "starting_column": 1, "ending_column": 2}}, "signature": "depositAll()"}}, {"type": "node", "name": "balance = IERC20(assetAddress).balanceOf(address(this))", "source_mapping": {"start": 2699, "length": 63, "filename_relative": "contracts/strategies/BaseCurveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/BaseCurveStrategy.sol", "filename_short": "contracts/strategies/BaseCurveStrategy.sol", "is_dependency": false, "lines": [73], "starting_column": 13, "ending_column": 76}, "type_specific_fields": {"parent": {"type": "function", "name": "depositAll", "source_mapping": {"start": 2273, "length": 1730, "filename_relative": "contracts/strategies/BaseCurveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/BaseCurveStrategy.sol", "filename_short": "contracts/strategies/BaseCurveStrategy.sol", "is_dependency": false, "lines": [65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseCurveStrategy", "source_mapping": {"start": 536, "length": 11031, "filename_relative": "contracts/strategies/BaseCurveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/BaseCurveStrategy.sol", "filename_short": "contracts/strategies/BaseCurveStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302], "starting_column": 1, "ending_column": 2}}, "signature": "depositAll()"}}}}], "description": "BaseCurveStrategy.depositAll() (contracts/strategies/BaseCurveStrategy.sol#65-101) has external calls inside a loop: balance = IERC20(assetAddress).balanceOf(address(this)) (contracts/strategies/BaseCurveStrategy.sol#73)\n", "markdown": "[BaseCurveStrategy.depositAll()](contracts/strategies/BaseCurveStrategy.sol#L65-L101) has external calls inside a loop: [balance = IERC20(assetAddress).balanceOf(address(this))](contracts/strategies/BaseCurveStrategy.sol#L73)\n", "first_markdown_element": "contracts/strategies/BaseCurveStrategy.sol#L65-L101", "id": "26a5a219889d82faba6f7fea83aeeb1f2fc2cc777e2272d5f590157842bec8d6", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "withdrawAll", "source_mapping": {"start": 7994, "length": 924, "filename_relative": "contracts/strategies/BaseCurveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/BaseCurveStrategy.sol", "filename_short": "contracts/strategies/BaseCurveStrategy.sol", "is_dependency": false, "lines": [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": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseCurveStrategy", "source_mapping": {"start": 536, "length": 11031, "filename_relative": "contracts/strategies/BaseCurveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/BaseCurveStrategy.sol", "filename_short": "contracts/strategies/BaseCurveStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302], "starting_column": 1, "ending_column": 2}}, "signature": "withdrawAll()"}}, {"type": "node", "name": "asset = IERC20(threePool.coins(i))", "source_mapping": {"start": 8782, "length": 41, "filename_relative": "contracts/strategies/BaseCurveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/BaseCurveStrategy.sol", "filename_short": "contracts/strategies/BaseCurveStrategy.sol", "is_dependency": false, "lines": [220], "starting_column": 13, "ending_column": 54}, "type_specific_fields": {"parent": {"type": "function", "name": "withdrawAll", "source_mapping": {"start": 7994, "length": 924, "filename_relative": "contracts/strategies/BaseCurveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/BaseCurveStrategy.sol", "filename_short": "contracts/strategies/BaseCurveStrategy.sol", "is_dependency": false, "lines": [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": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseCurveStrategy", "source_mapping": {"start": 536, "length": 11031, "filename_relative": "contracts/strategies/BaseCurveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/BaseCurveStrategy.sol", "filename_short": "contracts/strategies/BaseCurveStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302], "starting_column": 1, "ending_column": 2}}, "signature": "withdrawAll()"}}}}], "description": "BaseCurveStrategy.withdrawAll() (contracts/strategies/BaseCurveStrategy.sol#201-223) has external calls inside a loop: asset = IERC20(threePool.coins(i)) (contracts/strategies/BaseCurveStrategy.sol#220)\n", "markdown": "[BaseCurveStrategy.withdrawAll()](contracts/strategies/BaseCurveStrategy.sol#L201-L223) has external calls inside a loop: [asset = IERC20(threePool.coins(i))](contracts/strategies/BaseCurveStrategy.sol#L220)\n", "first_markdown_element": "contracts/strategies/BaseCurveStrategy.sol#L201-L223", "id": "de6309ed193ff3f223a7d8dba1deab2a4bc48fcf81c9f1e9097d15fc5a805edc", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "withdrawAll", "source_mapping": {"start": 7994, "length": 924, "filename_relative": "contracts/strategies/BaseCurveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/BaseCurveStrategy.sol", "filename_short": "contracts/strategies/BaseCurveStrategy.sol", "is_dependency": false, "lines": [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": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseCurveStrategy", "source_mapping": {"start": 536, "length": 11031, "filename_relative": "contracts/strategies/BaseCurveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/BaseCurveStrategy.sol", "filename_short": "contracts/strategies/BaseCurveStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302], "starting_column": 1, "ending_column": 2}}, "signature": "withdrawAll()"}}, {"type": "node", "name": "asset.safeTransfer(vaultAddress,asset.balanceOf(address(this)))", "source_mapping": {"start": 8837, "length": 64, "filename_relative": "contracts/strategies/BaseCurveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/BaseCurveStrategy.sol", "filename_short": "contracts/strategies/BaseCurveStrategy.sol", "is_dependency": false, "lines": [221], "starting_column": 13, "ending_column": 77}, "type_specific_fields": {"parent": {"type": "function", "name": "withdrawAll", "source_mapping": {"start": 7994, "length": 924, "filename_relative": "contracts/strategies/BaseCurveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/BaseCurveStrategy.sol", "filename_short": "contracts/strategies/BaseCurveStrategy.sol", "is_dependency": false, "lines": [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": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseCurveStrategy", "source_mapping": {"start": 536, "length": 11031, "filename_relative": "contracts/strategies/BaseCurveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/BaseCurveStrategy.sol", "filename_short": "contracts/strategies/BaseCurveStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302], "starting_column": 1, "ending_column": 2}}, "signature": "withdrawAll()"}}}}], "description": "BaseCurveStrategy.withdrawAll() (contracts/strategies/BaseCurveStrategy.sol#201-223) has external calls inside a loop: asset.safeTransfer(vaultAddress,asset.balanceOf(address(this))) (contracts/strategies/BaseCurveStrategy.sol#221)\n", "markdown": "[BaseCurveStrategy.withdrawAll()](contracts/strategies/BaseCurveStrategy.sol#L201-L223) has external calls inside a loop: [asset.safeTransfer(vaultAddress,asset.balanceOf(address(this)))](contracts/strategies/BaseCurveStrategy.sol#L221)\n", "first_markdown_element": "contracts/strategies/BaseCurveStrategy.sol#L201-L223", "id": "593d1e89d07d856e5e82980f5fe21389070ef42151709df1d09c9a3f85a986eb", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "depositAll", "source_mapping": {"start": 3741, "length": 406, "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [106, 107, 108, 109, 110, 111, 112, 113, 114, 115], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompoundStrategy", "source_mapping": {"start": 573, "length": 7942, "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230], "starting_column": 1, "ending_column": 2}}, "signature": "depositAll()"}}, {"type": "node", "name": "assetBalance = asset.balanceOf(address(this))", "source_mapping": {"start": 3971, "length": 53, "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [110], "starting_column": 13, "ending_column": 66}, "type_specific_fields": {"parent": {"type": "function", "name": "depositAll", "source_mapping": {"start": 3741, "length": 406, "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [106, 107, 108, 109, 110, 111, 112, 113, 114, 115], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompoundStrategy", "source_mapping": {"start": 573, "length": 7942, "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230], "starting_column": 1, "ending_column": 2}}, "signature": "depositAll()"}}}}], "description": "CompoundStrategy.depositAll() (contracts/strategies/CompoundStrategy.sol#106-115) has external calls inside a loop: assetBalance = asset.balanceOf(address(this)) (contracts/strategies/CompoundStrategy.sol#110)\n", "markdown": "[CompoundStrategy.depositAll()](contracts/strategies/CompoundStrategy.sol#L106-L115) has external calls inside a loop: [assetBalance = asset.balanceOf(address(this))](contracts/strategies/CompoundStrategy.sol#L110)\n", "first_markdown_element": "contracts/strategies/CompoundStrategy.sol#L106-L115", "id": "505213902c7623ffa7d65911e507482538c2bb5612cfa427ab25f2f6fb97d375", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_deposit", "source_mapping": {"start": 3316, "length": 293, "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [96, 97, 98, 99, 100, 101], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompoundStrategy", "source_mapping": {"start": 573, "length": 7942, "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230], "starting_column": 1, "ending_column": 2}}, "signature": "_deposit(address,uint256)"}}, {"type": "node", "name": "require(bool,string)(cToken.mint(_amount) == 0,cToken mint failed)", "source_mapping": {"start": 3546, "length": 56, "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [100], "starting_column": 9, "ending_column": 65}, "type_specific_fields": {"parent": {"type": "function", "name": "_deposit", "source_mapping": {"start": 3316, "length": 293, "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [96, 97, 98, 99, 100, 101], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompoundStrategy", "source_mapping": {"start": 573, "length": 7942, "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230], "starting_column": 1, "ending_column": 2}}, "signature": "_deposit(address,uint256)"}}}}], "description": "CompoundStrategy._deposit(address,uint256) (contracts/strategies/CompoundStrategy.sol#96-101) has external calls inside a loop: require(bool,string)(cToken.mint(_amount) == 0,cToken mint failed) (contracts/strategies/CompoundStrategy.sol#100)\n", "markdown": "[CompoundStrategy._deposit(address,uint256)](contracts/strategies/CompoundStrategy.sol#L96-L101) has external calls inside a loop: [require(bool,string)(cToken.mint(_amount) == 0,cToken mint failed)](contracts/strategies/CompoundStrategy.sol#L100)\n", "first_markdown_element": "contracts/strategies/CompoundStrategy.sol#L96-L101", "id": "8fbacbec6014be1d4227c8c59b96a7989248f7e6178f17cac255ad4b6b58fb03", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "withdrawAll", "source_mapping": {"start": 5860, "length": 816, "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompoundStrategy", "source_mapping": {"start": 573, "length": 7942, "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230], "starting_column": 1, "ending_column": 2}}, "signature": "withdrawAll()"}}, {"type": "node", "name": "cTokenBalance = cToken.balanceOf(address(this))", "source_mapping": {"start": 6208, "length": 55, "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [168], "starting_column": 13, "ending_column": 68}, "type_specific_fields": {"parent": {"type": "function", "name": "withdrawAll", "source_mapping": {"start": 5860, "length": 816, "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompoundStrategy", "source_mapping": {"start": 573, "length": 7942, "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230], "starting_column": 1, "ending_column": 2}}, "signature": "withdrawAll()"}}}}], "description": "CompoundStrategy.withdrawAll() (contracts/strategies/CompoundStrategy.sol#162-178) has external calls inside a loop: cTokenBalance = cToken.balanceOf(address(this)) (contracts/strategies/CompoundStrategy.sol#168)\n", "markdown": "[CompoundStrategy.withdrawAll()](contracts/strategies/CompoundStrategy.sol#L162-L178) has external calls inside a loop: [cTokenBalance = cToken.balanceOf(address(this))](contracts/strategies/CompoundStrategy.sol#L168)\n", "first_markdown_element": "contracts/strategies/CompoundStrategy.sol#L162-L178", "id": "149d284adde5b0357a4dbc74884794fdaa75de3ba6125b6544dd7d67224f3a4b", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "withdrawAll", "source_mapping": {"start": 5860, "length": 816, "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompoundStrategy", "source_mapping": {"start": 573, "length": 7942, "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230], "starting_column": 1, "ending_column": 2}}, "signature": "withdrawAll()"}}, {"type": "node", "name": "require(bool,string)(cToken.redeem(cTokenBalance) == 0,Redeem failed)", "source_mapping": {"start": 6318, "length": 59, "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [170], "starting_column": 17, "ending_column": 76}, "type_specific_fields": {"parent": {"type": "function", "name": "withdrawAll", "source_mapping": {"start": 5860, "length": 816, "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompoundStrategy", "source_mapping": {"start": 573, "length": 7942, "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230], "starting_column": 1, "ending_column": 2}}, "signature": "withdrawAll()"}}}}], "description": "CompoundStrategy.withdrawAll() (contracts/strategies/CompoundStrategy.sol#162-178) has external calls inside a loop: require(bool,string)(cToken.redeem(cTokenBalance) == 0,Redeem failed) (contracts/strategies/CompoundStrategy.sol#170)\n", "markdown": "[CompoundStrategy.withdrawAll()](contracts/strategies/CompoundStrategy.sol#L162-L178) has external calls inside a loop: [require(bool,string)(cToken.redeem(cTokenBalance) == 0,Redeem failed)](contracts/strategies/CompoundStrategy.sol#L170)\n", "first_markdown_element": "contracts/strategies/CompoundStrategy.sol#L162-L178", "id": "223811401cd4eb99f41b98af2965bf8a5e4bcb66060973f0cb0c94a7866469cc", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "withdrawAll", "source_mapping": {"start": 5860, "length": 816, "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompoundStrategy", "source_mapping": {"start": 573, "length": 7942, "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230], "starting_column": 1, "ending_column": 2}}, "signature": "withdrawAll()"}}, {"type": "node", "name": "assetBalance = asset.balanceOf(address(this))", "source_mapping": {"start": 6395, "length": 53, "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [171], "starting_column": 17, "ending_column": 70}, "type_specific_fields": {"parent": {"type": "function", "name": "withdrawAll", "source_mapping": {"start": 5860, "length": 816, "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompoundStrategy", "source_mapping": {"start": 573, "length": 7942, "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230], "starting_column": 1, "ending_column": 2}}, "signature": "withdrawAll()"}}}}], "description": "CompoundStrategy.withdrawAll() (contracts/strategies/CompoundStrategy.sol#162-178) has external calls inside a loop: assetBalance = asset.balanceOf(address(this)) (contracts/strategies/CompoundStrategy.sol#171)\n", "markdown": "[CompoundStrategy.withdrawAll()](contracts/strategies/CompoundStrategy.sol#L162-L178) has external calls inside a loop: [assetBalance = asset.balanceOf(address(this))](contracts/strategies/CompoundStrategy.sol#L171)\n", "first_markdown_element": "contracts/strategies/CompoundStrategy.sol#L162-L178", "id": "0707313dc597c816003534228c728430a01d5cd74f337454d1e1723628fe0397", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "depositAll", "source_mapping": {"start": 4527, "length": 317, "filename_relative": "contracts/strategies/MorphoAaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoAaveStrategy.sol", "filename_short": "contracts/strategies/MorphoAaveStrategy.sol", "is_dependency": false, "lines": [138, 139, 140, 141, 142, 143, 144, 145], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MorphoAaveStrategy", "source_mapping": {"start": 563, "length": 7087, "filename_relative": "contracts/strategies/MorphoAaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoAaveStrategy.sol", "filename_short": "contracts/strategies/MorphoAaveStrategy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235], "starting_column": 1, "ending_column": 2}}, "signature": "depositAll()"}}, {"type": "node", "name": "balance = IERC20(assetsMapped[i]).balanceOf(address(this))", "source_mapping": {"start": 4664, "length": 66, "filename_relative": "contracts/strategies/MorphoAaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoAaveStrategy.sol", "filename_short": "contracts/strategies/MorphoAaveStrategy.sol", "is_dependency": false, "lines": [140], "starting_column": 13, "ending_column": 79}, "type_specific_fields": {"parent": {"type": "function", "name": "depositAll", "source_mapping": {"start": 4527, "length": 317, "filename_relative": "contracts/strategies/MorphoAaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoAaveStrategy.sol", "filename_short": "contracts/strategies/MorphoAaveStrategy.sol", "is_dependency": false, "lines": [138, 139, 140, 141, 142, 143, 144, 145], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MorphoAaveStrategy", "source_mapping": {"start": 563, "length": 7087, "filename_relative": "contracts/strategies/MorphoAaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoAaveStrategy.sol", "filename_short": "contracts/strategies/MorphoAaveStrategy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235], "starting_column": 1, "ending_column": 2}}, "signature": "depositAll()"}}}}], "description": "MorphoAaveStrategy.depositAll() (contracts/strategies/MorphoAaveStrategy.sol#138-145) has external calls inside a loop: balance = IERC20(assetsMapped[i]).balanceOf(address(this)) (contracts/strategies/MorphoAaveStrategy.sol#140)\n", "markdown": "[MorphoAaveStrategy.depositAll()](contracts/strategies/MorphoAaveStrategy.sol#L138-L145) has external calls inside a loop: [balance = IERC20(assetsMapped[i]).balanceOf(address(this))](contracts/strategies/MorphoAaveStrategy.sol#L140)\n", "first_markdown_element": "contracts/strategies/MorphoAaveStrategy.sol#L138-L145", "id": "7206326cf9f3850b8c3373c2658a680a831e5ef9eaf2f6cf23907d5cd548bcb9", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_deposit", "source_mapping": {"start": 4033, "length": 398, "filename_relative": "contracts/strategies/MorphoAaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoAaveStrategy.sol", "filename_short": "contracts/strategies/MorphoAaveStrategy.sol", "is_dependency": false, "lines": [122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MorphoAaveStrategy", "source_mapping": {"start": 563, "length": 7087, "filename_relative": "contracts/strategies/MorphoAaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoAaveStrategy.sol", "filename_short": "contracts/strategies/MorphoAaveStrategy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235], "starting_column": 1, "ending_column": 2}}, "signature": "_deposit(address,uint256)"}}, {"type": "node", "name": "IMorpho(MORPHO).supply(pToken,address(this),_amount)", "source_mapping": {"start": 4218, "length": 159, "filename_relative": "contracts/strategies/MorphoAaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoAaveStrategy.sol", "filename_short": "contracts/strategies/MorphoAaveStrategy.sol", "is_dependency": false, "lines": [127, 128, 129, 130, 131], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "_deposit", "source_mapping": {"start": 4033, "length": 398, "filename_relative": "contracts/strategies/MorphoAaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoAaveStrategy.sol", "filename_short": "contracts/strategies/MorphoAaveStrategy.sol", "is_dependency": false, "lines": [122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MorphoAaveStrategy", "source_mapping": {"start": 563, "length": 7087, "filename_relative": "contracts/strategies/MorphoAaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoAaveStrategy.sol", "filename_short": "contracts/strategies/MorphoAaveStrategy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235], "starting_column": 1, "ending_column": 2}}, "signature": "_deposit(address,uint256)"}}}}], "description": "MorphoAaveStrategy._deposit(address,uint256) (contracts/strategies/MorphoAaveStrategy.sol#122-133) has external calls inside a loop: IMorpho(MORPHO).supply(pToken,address(this),_amount) (contracts/strategies/MorphoAaveStrategy.sol#127-131)\n", "markdown": "[MorphoAaveStrategy._deposit(address,uint256)](contracts/strategies/MorphoAaveStrategy.sol#L122-L133) has external calls inside a loop: [IMorpho(MORPHO).supply(pToken,address(this),_amount)](contracts/strategies/MorphoAaveStrategy.sol#L127-L131)\n", "first_markdown_element": "contracts/strategies/MorphoAaveStrategy.sol#L122-L133", "id": "adb7745bb6af9b1ff21db721d3e5e1fb1e5ae38e9c70c309592e2e4494babd48", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_checkBalance", "source_mapping": {"start": 6528, "length": 369, "filename_relative": "contracts/strategies/MorphoAaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoAaveStrategy.sol", "filename_short": "contracts/strategies/MorphoAaveStrategy.sol", "is_dependency": false, "lines": [202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MorphoAaveStrategy", "source_mapping": {"start": 563, "length": 7087, "filename_relative": "contracts/strategies/MorphoAaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoAaveStrategy.sol", "filename_short": "contracts/strategies/MorphoAaveStrategy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235], "starting_column": 1, "ending_column": 2}}, "signature": "_checkBalance(address)"}}, {"type": "node", "name": "(None,None,balance) = ILens(LENS).getCurrentSupplyBalanceInOf(pToken,address(this))", "source_mapping": {"start": 6778, "length": 112, "filename_relative": "contracts/strategies/MorphoAaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoAaveStrategy.sol", "filename_short": "contracts/strategies/MorphoAaveStrategy.sol", "is_dependency": false, "lines": [210, 211, 212, 213], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "_checkBalance", "source_mapping": {"start": 6528, "length": 369, "filename_relative": "contracts/strategies/MorphoAaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoAaveStrategy.sol", "filename_short": "contracts/strategies/MorphoAaveStrategy.sol", "is_dependency": false, "lines": [202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MorphoAaveStrategy", "source_mapping": {"start": 563, "length": 7087, "filename_relative": "contracts/strategies/MorphoAaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoAaveStrategy.sol", "filename_short": "contracts/strategies/MorphoAaveStrategy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235], "starting_column": 1, "ending_column": 2}}, "signature": "_checkBalance(address)"}}}}], "description": "MorphoAaveStrategy._checkBalance(address) (contracts/strategies/MorphoAaveStrategy.sol#202-214) has external calls inside a loop: (None,None,balance) = ILens(LENS).getCurrentSupplyBalanceInOf(pToken,address(this)) (contracts/strategies/MorphoAaveStrategy.sol#210-213)\n", "markdown": "[MorphoAaveStrategy._checkBalance(address)](contracts/strategies/MorphoAaveStrategy.sol#L202-L214) has external calls inside a loop: [(None,None,balance) = ILens(LENS).getCurrentSupplyBalanceInOf(pToken,address(this))](contracts/strategies/MorphoAaveStrategy.sol#L210-L213)\n", "first_markdown_element": "contracts/strategies/MorphoAaveStrategy.sol#L202-L214", "id": "220be42dcba97453c7610337463fad683691f37a3037910a26a76754649f9e97", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_withdraw", "source_mapping": {"start": 5268, "length": 462, "filename_relative": "contracts/strategies/MorphoAaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoAaveStrategy.sol", "filename_short": "contracts/strategies/MorphoAaveStrategy.sol", "is_dependency": false, "lines": [161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MorphoAaveStrategy", "source_mapping": {"start": 563, "length": 7087, "filename_relative": "contracts/strategies/MorphoAaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoAaveStrategy.sol", "filename_short": "contracts/strategies/MorphoAaveStrategy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235], "starting_column": 1, "ending_column": 2}}, "signature": "_withdraw(address,address,uint256)"}}, {"type": "node", "name": "IMorpho(MORPHO).withdraw(pToken,_amount)", "source_mapping": {"start": 5574, "length": 41, "filename_relative": "contracts/strategies/MorphoAaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoAaveStrategy.sol", "filename_short": "contracts/strategies/MorphoAaveStrategy.sol", "is_dependency": false, "lines": [171], "starting_column": 9, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "function", "name": "_withdraw", "source_mapping": {"start": 5268, "length": 462, "filename_relative": "contracts/strategies/MorphoAaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoAaveStrategy.sol", "filename_short": "contracts/strategies/MorphoAaveStrategy.sol", "is_dependency": false, "lines": [161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MorphoAaveStrategy", "source_mapping": {"start": 563, "length": 7087, "filename_relative": "contracts/strategies/MorphoAaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoAaveStrategy.sol", "filename_short": "contracts/strategies/MorphoAaveStrategy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235], "starting_column": 1, "ending_column": 2}}, "signature": "_withdraw(address,address,uint256)"}}}}], "description": "MorphoAaveStrategy._withdraw(address,address,uint256) (contracts/strategies/MorphoAaveStrategy.sol#161-174) has external calls inside a loop: IMorpho(MORPHO).withdraw(pToken,_amount) (contracts/strategies/MorphoAaveStrategy.sol#171)\n", "markdown": "[MorphoAaveStrategy._withdraw(address,address,uint256)](contracts/strategies/MorphoAaveStrategy.sol#L161-L174) has external calls inside a loop: [IMorpho(MORPHO).withdraw(pToken,_amount)](contracts/strategies/MorphoAaveStrategy.sol#L171)\n", "first_markdown_element": "contracts/strategies/MorphoAaveStrategy.sol#L161-L174", "id": "c192265d9de64f6b8cfc330f5dc6cc9bcbda90da06eaa848b472fc4d750c26a9", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "depositAll", "source_mapping": {"start": 6175, "length": 317, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [174, 175, 176, 177, 178, 179, 180, 181], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MorphoCompoundStrategy", "source_mapping": {"start": 608, "length": 7945, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251], "starting_column": 1, "ending_column": 2}}, "signature": "depositAll()"}}, {"type": "node", "name": "balance = IERC20(assetsMapped[i]).balanceOf(address(this))", "source_mapping": {"start": 6312, "length": 66, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [176], "starting_column": 13, "ending_column": 79}, "type_specific_fields": {"parent": {"type": "function", "name": "depositAll", "source_mapping": {"start": 6175, "length": 317, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [174, 175, 176, 177, 178, 179, 180, 181], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MorphoCompoundStrategy", "source_mapping": {"start": 608, "length": 7945, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251], "starting_column": 1, "ending_column": 2}}, "signature": "depositAll()"}}}}], "description": "MorphoCompoundStrategy.depositAll() (contracts/strategies/MorphoCompoundStrategy.sol#174-181) has external calls inside a loop: balance = IERC20(assetsMapped[i]).balanceOf(address(this)) (contracts/strategies/MorphoCompoundStrategy.sol#176)\n", "markdown": "[MorphoCompoundStrategy.depositAll()](contracts/strategies/MorphoCompoundStrategy.sol#L174-L181) has external calls inside a loop: [balance = IERC20(assetsMapped[i]).balanceOf(address(this))](contracts/strategies/MorphoCompoundStrategy.sol#L176)\n", "first_markdown_element": "contracts/strategies/MorphoCompoundStrategy.sol#L174-L181", "id": "4435df0408ad605b1d2e27798ba6e462d538fd9071efe95dc10d203cdb733f91", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_deposit", "source_mapping": {"start": 5691, "length": 388, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [160, 161, 162, 163, 164, 165, 166, 167, 168, 169], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MorphoCompoundStrategy", "source_mapping": {"start": 608, "length": 7945, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251], "starting_column": 1, "ending_column": 2}}, "signature": "_deposit(address,uint256)"}}, {"type": "node", "name": "IMorpho(MORPHO).supply(address(_getCTokenFor(_asset)),address(this),_amount)", "source_mapping": {"start": 5818, "length": 183, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [163, 164, 165, 166, 167], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "_deposit", "source_mapping": {"start": 5691, "length": 388, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [160, 161, 162, 163, 164, 165, 166, 167, 168, 169], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MorphoCompoundStrategy", "source_mapping": {"start": 608, "length": 7945, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251], "starting_column": 1, "ending_column": 2}}, "signature": "_deposit(address,uint256)"}}}}], "description": "MorphoCompoundStrategy._deposit(address,uint256) (contracts/strategies/MorphoCompoundStrategy.sol#160-169) has external calls inside a loop: IMorpho(MORPHO).supply(address(_getCTokenFor(_asset)),address(this),_amount) (contracts/strategies/MorphoCompoundStrategy.sol#163-167)\n", "markdown": "[MorphoCompoundStrategy._deposit(address,uint256)](contracts/strategies/MorphoCompoundStrategy.sol#L160-L169) has external calls inside a loop: [IMorpho(MORPHO).supply(address(_getCTokenFor(_asset)),address(this),_amount)](contracts/strategies/MorphoCompoundStrategy.sol#L163-L167)\n", "first_markdown_element": "contracts/strategies/MorphoCompoundStrategy.sol#L160-L169", "id": "e592dc99deb78a918cb70c7429ad3dccfd6cefc567796490d8ad0191fb3ce3cf", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_checkBalance", "source_mapping": {"start": 8191, "length": 360, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MorphoCompoundStrategy", "source_mapping": {"start": 608, "length": 7945, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251], "starting_column": 1, "ending_column": 2}}, "signature": "_checkBalance(address)"}}, {"type": "node", "name": "(None,None,balance) = ILens(LENS).getCurrentSupplyBalanceInOf(pToken,address(this))", "source_mapping": {"start": 8432, "length": 112, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [246, 247, 248, 249], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "_checkBalance", "source_mapping": {"start": 8191, "length": 360, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MorphoCompoundStrategy", "source_mapping": {"start": 608, "length": 7945, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251], "starting_column": 1, "ending_column": 2}}, "signature": "_checkBalance(address)"}}}}], "description": "MorphoCompoundStrategy._checkBalance(address) (contracts/strategies/MorphoCompoundStrategy.sol#238-250) has external calls inside a loop: (None,None,balance) = ILens(LENS).getCurrentSupplyBalanceInOf(pToken,address(this)) (contracts/strategies/MorphoCompoundStrategy.sol#246-249)\n", "markdown": "[MorphoCompoundStrategy._checkBalance(address)](contracts/strategies/MorphoCompoundStrategy.sol#L238-L250) has external calls inside a loop: [(None,None,balance) = ILens(LENS).getCurrentSupplyBalanceInOf(pToken,address(this))](contracts/strategies/MorphoCompoundStrategy.sol#L246-L249)\n", "first_markdown_element": "contracts/strategies/MorphoCompoundStrategy.sol#L238-L250", "id": "4ad956814054d668d2bcd740c9a939ff13d9a9107a39b22843b62d9296745c62", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_withdraw", "source_mapping": {"start": 6916, "length": 477, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MorphoCompoundStrategy", "source_mapping": {"start": 608, "length": 7945, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251], "starting_column": 1, "ending_column": 2}}, "signature": "_withdraw(address,address,uint256)"}}, {"type": "node", "name": "IMorpho(MORPHO).withdraw(pToken,_amount)", "source_mapping": {"start": 7213, "length": 41, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [207], "starting_column": 9, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "function", "name": "_withdraw", "source_mapping": {"start": 6916, "length": 477, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MorphoCompoundStrategy", "source_mapping": {"start": 608, "length": 7945, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251], "starting_column": 1, "ending_column": 2}}, "signature": "_withdraw(address,address,uint256)"}}}}], "description": "MorphoCompoundStrategy._withdraw(address,address,uint256) (contracts/strategies/MorphoCompoundStrategy.sol#197-210) has external calls inside a loop: IMorpho(MORPHO).withdraw(pToken,_amount) (contracts/strategies/MorphoCompoundStrategy.sol#207)\n", "markdown": "[MorphoCompoundStrategy._withdraw(address,address,uint256)](contracts/strategies/MorphoCompoundStrategy.sol#L197-L210) has external calls inside a loop: [IMorpho(MORPHO).withdraw(pToken,_amount)](contracts/strategies/MorphoCompoundStrategy.sol#L207)\n", "first_markdown_element": "contracts/strategies/MorphoCompoundStrategy.sol#L197-L210", "id": "9fb6d734664eb04074c6ab18d99d0ac67d2fc3fc2b4af6e5a3ae90d267d728e3", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "depositAll", "source_mapping": {"start": 1955, "length": 650, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BalancerMetaPoolStrategy", "source_mapping": {"start": 708, "length": 21715, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "depositAll()"}}, {"type": "node", "name": "strategyAmounts[i] = IERC20(strategyAssets[i]).balanceOf(address(this))", "source_mapping": {"start": 2436, "length": 101, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [69, 70, 71], "starting_column": 13, "ending_column": 14}, "type_specific_fields": {"parent": {"type": "function", "name": "depositAll", "source_mapping": {"start": 1955, "length": 650, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BalancerMetaPoolStrategy", "source_mapping": {"start": 708, "length": 21715, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "depositAll()"}}}}], "description": "BalancerMetaPoolStrategy.depositAll() (contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#60-74) has external calls inside a loop: strategyAmounts[i] = IERC20(strategyAssets[i]).balanceOf(address(this)) (contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#69-71)\n", "markdown": "[BalancerMetaPoolStrategy.depositAll()](contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L60-L74) has external calls inside a loop: [strategyAmounts[i] = IERC20(strategyAssets[i]).balanceOf(address(this))](contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L69-L71)\n", "first_markdown_element": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L60-L74", "id": "d86d9971c86af0eb231717fea9f1e0bad3b2a537c274f7ebaa5a2e458e1dd737", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "withdrawAll", "source_mapping": {"start": 15746, "length": 3500, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [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], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BalancerMetaPoolStrategy", "source_mapping": {"start": 708, "length": 21715, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "withdrawAll()"}}, {"type": "node", "name": "poolAssetAmount = IERC20(poolAsset).balanceOf(address(this))", "source_mapping": {"start": 18385, "length": 98, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [447, 448, 449], "starting_column": 13, "ending_column": 14}, "type_specific_fields": {"parent": {"type": "function", "name": "withdrawAll", "source_mapping": {"start": 15746, "length": 3500, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [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], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BalancerMetaPoolStrategy", "source_mapping": {"start": 708, "length": 21715, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "withdrawAll()"}}}}], "description": "BalancerMetaPoolStrategy.withdrawAll() (contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#392-473) has external calls inside a loop: poolAssetAmount = IERC20(poolAsset).balanceOf(address(this)) (contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#447-449)\n", "markdown": "[BalancerMetaPoolStrategy.withdrawAll()](contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L392-L473) has external calls inside a loop: [poolAssetAmount = IERC20(poolAsset).balanceOf(address(this))](contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L447-L449)\n", "first_markdown_element": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L392-L473", "id": "dc9c8b87043fcd9af37e7d32a34133389887e707f304ade5efe70347c2f2b2d2", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_unwrapPoolAsset", "source_mapping": {"start": 14919, "length": 480, "filename_relative": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_short": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "is_dependency": false, "lines": [374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseBalancerStrategy", "source_mapping": {"start": 798, "length": 17939, "filename_relative": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_short": "contracts/strategies/balancer/BaseBalancerStrategy.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, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 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], "starting_column": 1, "ending_column": 2}}, "signature": "_unwrapPoolAsset(address,uint256)"}}, {"type": "node", "name": "unwrappedAmount = IWstETH(wstETH).unwrap(amount)", "source_mapping": {"start": 15083, "length": 48, "filename_relative": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_short": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "is_dependency": false, "lines": [379], "starting_column": 13, "ending_column": 61}, "type_specific_fields": {"parent": {"type": "function", "name": "_unwrapPoolAsset", "source_mapping": {"start": 14919, "length": 480, "filename_relative": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_short": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "is_dependency": false, "lines": [374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseBalancerStrategy", "source_mapping": {"start": 798, "length": 17939, "filename_relative": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_short": "contracts/strategies/balancer/BaseBalancerStrategy.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, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 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], "starting_column": 1, "ending_column": 2}}, "signature": "_unwrapPoolAsset(address,uint256)"}}}}], "description": "BaseBalancerStrategy._unwrapPoolAsset(address,uint256) (contracts/strategies/balancer/BaseBalancerStrategy.sol#374-389) has external calls inside a loop: unwrappedAmount = IWstETH(wstETH).unwrap(amount) (contracts/strategies/balancer/BaseBalancerStrategy.sol#379)\n", "markdown": "[BaseBalancerStrategy._unwrapPoolAsset(address,uint256)](contracts/strategies/balancer/BaseBalancerStrategy.sol#L374-L389) has external calls inside a loop: [unwrappedAmount = IWstETH(wstETH).unwrap(amount)](contracts/strategies/balancer/BaseBalancerStrategy.sol#L379)\n", "first_markdown_element": "contracts/strategies/balancer/BaseBalancerStrategy.sol#L374-L389", "id": "9c4c12b8ede308c0dae4fc7ddc355166ba8cbb68b555b0aa38471966cc0848c1", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_unwrapPoolAsset", "source_mapping": {"start": 14919, "length": 480, "filename_relative": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_short": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "is_dependency": false, "lines": [374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseBalancerStrategy", "source_mapping": {"start": 798, "length": 17939, "filename_relative": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_short": "contracts/strategies/balancer/BaseBalancerStrategy.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, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 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], "starting_column": 1, "ending_column": 2}}, "signature": "_unwrapPoolAsset(address,uint256)"}}, {"type": "node", "name": "unwrappedAmount = IERC4626(sfrxETH).withdraw(amount,address(this),address(this))", "source_mapping": {"start": 15183, "length": 144, "filename_relative": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_short": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "is_dependency": false, "lines": [381, 382, 383, 384, 385], "starting_column": 13, "ending_column": 14}, "type_specific_fields": {"parent": {"type": "function", "name": "_unwrapPoolAsset", "source_mapping": {"start": 14919, "length": 480, "filename_relative": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_short": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "is_dependency": false, "lines": [374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseBalancerStrategy", "source_mapping": {"start": 798, "length": 17939, "filename_relative": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_short": "contracts/strategies/balancer/BaseBalancerStrategy.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, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 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], "starting_column": 1, "ending_column": 2}}, "signature": "_unwrapPoolAsset(address,uint256)"}}}}], "description": "BaseBalancerStrategy._unwrapPoolAsset(address,uint256) (contracts/strategies/balancer/BaseBalancerStrategy.sol#374-389) has external calls inside a loop: unwrappedAmount = IERC4626(sfrxETH).withdraw(amount,address(this),address(this)) (contracts/strategies/balancer/BaseBalancerStrategy.sol#381-385)\n", "markdown": "[BaseBalancerStrategy._unwrapPoolAsset(address,uint256)](contracts/strategies/balancer/BaseBalancerStrategy.sol#L374-L389) has external calls inside a loop: [unwrappedAmount = IERC4626(sfrxETH).withdraw(amount,address(this),address(this))](contracts/strategies/balancer/BaseBalancerStrategy.sol#L381-L385)\n", "first_markdown_element": "contracts/strategies/balancer/BaseBalancerStrategy.sol#L374-L389", "id": "405e462e6aecdf15a25315a74a7bbe2334ed2f0cf2ac1a71d8774baaa5c3b79a", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_abstractSetPToken", "source_mapping": {"start": 20214, "length": 478, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BalancerMetaPoolStrategy", "source_mapping": {"start": 708, "length": 21715, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "_abstractSetPToken(address,address)"}}, {"type": "node", "name": "IERC20(stETH).approve(wstETH,type()(uint256).max)", "source_mapping": {"start": 20435, "length": 48, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [506], "starting_column": 13, "ending_column": 61}, "type_specific_fields": {"parent": {"type": "function", "name": "_abstractSetPToken", "source_mapping": {"start": 20214, "length": 478, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BalancerMetaPoolStrategy", "source_mapping": {"start": 708, "length": 21715, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "_abstractSetPToken(address,address)"}}}}], "description": "BalancerMetaPoolStrategy._abstractSetPToken(address,address) (contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#502-512) has external calls inside a loop: IERC20(stETH).approve(wstETH,type()(uint256).max) (contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#506)\n", "markdown": "[BalancerMetaPoolStrategy._abstractSetPToken(address,address)](contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L502-L512) has external calls inside a loop: [IERC20(stETH).approve(wstETH,type()(uint256).max)](contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L506)\n", "first_markdown_element": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L502-L512", "id": "6c562c630550eae33a78899c960cb311ad278fd876aed6d3334b0bc0d44e2256", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_approveAsset", "source_mapping": {"start": 20956, "length": 211, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [520, 521, 522, 523, 524], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BalancerMetaPoolStrategy", "source_mapping": {"start": 708, "length": 21715, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "_approveAsset(address)"}}, {"type": "node", "name": "asset.approve(address(balancerVault),type()(uint256).max)", "source_mapping": {"start": 21104, "length": 56, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [523], "starting_column": 9, "ending_column": 65}, "type_specific_fields": {"parent": {"type": "function", "name": "_approveAsset", "source_mapping": {"start": 20956, "length": 211, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [520, 521, 522, 523, 524], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BalancerMetaPoolStrategy", "source_mapping": {"start": 708, "length": 21715, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "_approveAsset(address)"}}}}], "description": "BalancerMetaPoolStrategy._approveAsset(address) (contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#520-524) has external calls inside a loop: asset.approve(address(balancerVault),type()(uint256).max) (contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#523)\n", "markdown": "[BalancerMetaPoolStrategy._approveAsset(address)](contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L520-L524) has external calls inside a loop: [asset.approve(address(balancerVault),type()(uint256).max)](contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L523)\n", "first_markdown_element": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L520-L524", "id": "1268a6bcf86010c06e9d3e2482ee9f94781a267ed96edfb316380aa9f8c14ed8", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_abstractSetPToken", "source_mapping": {"start": 20214, "length": 478, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BalancerMetaPoolStrategy", "source_mapping": {"start": 708, "length": 21715, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "_abstractSetPToken(address,address)"}}, {"type": "node", "name": "IERC20(frxETH).approve(sfrxETH,type()(uint256).max)", "source_mapping": {"start": 20591, "length": 50, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [509], "starting_column": 13, "ending_column": 63}, "type_specific_fields": {"parent": {"type": "function", "name": "_abstractSetPToken", "source_mapping": {"start": 20214, "length": 478, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BalancerMetaPoolStrategy", "source_mapping": {"start": 708, "length": 21715, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "_abstractSetPToken(address,address)"}}}}], "description": "BalancerMetaPoolStrategy._abstractSetPToken(address,address) (contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#502-512) has external calls inside a loop: IERC20(frxETH).approve(sfrxETH,type()(uint256).max) (contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#509)\n", "markdown": "[BalancerMetaPoolStrategy._abstractSetPToken(address,address)](contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L502-L512) has external calls inside a loop: [IERC20(frxETH).approve(sfrxETH,type()(uint256).max)](contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L509)\n", "first_markdown_element": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L502-L512", "id": "66750974c78c70a7d77e87d18214ceefb99f1b8507c7437d2e1103f1900685db", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "withdrawAllFromStrategies", "source_mapping": {"start": 21896, "length": 245, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [618, 619, 620, 621, 622, 623], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultAdmin", "source_mapping": {"start": 549, "length": 22063, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638], "starting_column": 1, "ending_column": 2}}, "signature": "withdrawAllFromStrategies()"}}, {"type": "node", "name": "IStrategy(allStrategies[i]).withdrawAll()", "source_mapping": {"start": 22083, "length": 41, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [621], "starting_column": 13, "ending_column": 54}, "type_specific_fields": {"parent": {"type": "function", "name": "withdrawAllFromStrategies", "source_mapping": {"start": 21896, "length": 245, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [618, 619, 620, 621, 622, 623], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultAdmin", "source_mapping": {"start": 549, "length": 22063, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638], "starting_column": 1, "ending_column": 2}}, "signature": "withdrawAllFromStrategies()"}}}}], "description": "VaultAdmin.withdrawAllFromStrategies() (contracts/vault/VaultAdmin.sol#618-623) has external calls inside a loop: IStrategy(allStrategies[i]).withdrawAll() (contracts/vault/VaultAdmin.sol#621)\n", "markdown": "[VaultAdmin.withdrawAllFromStrategies()](contracts/vault/VaultAdmin.sol#L618-L623) has external calls inside a loop: [IStrategy(allStrategies[i]).withdrawAll()](contracts/vault/VaultAdmin.sol#L621)\n", "first_markdown_element": "contracts/vault/VaultAdmin.sol#L618-L623", "id": "2dda9b35efce73ce413227e000e9e39d58a8844b585ce320002128d6160cac99", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "deposit", "source_mapping": {"start": 1431, "length": 247, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [45, 46, 47, 48, 49, 50], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OETHZapper", "source_mapping": {"start": 288, "length": 2569, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81], "starting_column": 1, "ending_column": 2}}, "signature": "deposit()"}}, {"type": "node", "name": "weth.deposit{value: balance}()", "source_mapping": {"start": 1542, "length": 32, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [47], "starting_column": 9, "ending_column": 41}, "type_specific_fields": {"parent": {"type": "function", "name": "deposit", "source_mapping": {"start": 1431, "length": 247, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [45, 46, 47, 48, 49, 50], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OETHZapper", "source_mapping": {"start": 288, "length": 2569, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81], "starting_column": 1, "ending_column": 2}}, "signature": "deposit()"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "Zap(msg.sender,ETH_MARKER,balance)", "source_mapping": {"start": 1584, "length": 41, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [48], "starting_column": 9, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "function", "name": "deposit", "source_mapping": {"start": 1431, "length": 247, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [45, 46, 47, 48, 49, 50], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OETHZapper", "source_mapping": {"start": 288, "length": 2569, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81], "starting_column": 1, "ending_column": 2}}, "signature": "deposit()"}}}, "additional_fields": {"underlying_type": "event"}}], "description": "Reentrancy in OETHZapper.deposit() (contracts/vault/OETHZapper.sol#45-50):\n\tExternal calls:\n\t- weth.deposit{value: balance}() (contracts/vault/OETHZapper.sol#47)\n\tEvent emitted after the call(s):\n\t- Zap(msg.sender,ETH_MARKER,balance) (contracts/vault/OETHZapper.sol#48)\n", "markdown": "Reentrancy in [OETHZapper.deposit()](contracts/vault/OETHZapper.sol#L45-L50):\n\tExternal calls:\n\t- [weth.deposit{value: balance}()](contracts/vault/OETHZapper.sol#L47)\n\tEvent emitted after the call(s):\n\t- [Zap(msg.sender,ETH_MARKER,balance)](contracts/vault/OETHZapper.sol#L48)\n", "first_markdown_element": "contracts/vault/OETHZapper.sol#L45-L50", "id": "0b34d6f9d901c186b1e45ca84e1e7c80a926306176067ad95c77f311eec027f8", "check": "reentrancy-events", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "depositSFRXETH", "source_mapping": {"start": 1917, "length": 274, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [58, 59, 60, 61, 62, 63, 64, 65], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OETHZapper", "source_mapping": {"start": 288, "length": 2569, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81], "starting_column": 1, "ending_column": 2}}, "signature": "depositSFRXETH(uint256,uint256)"}}, {"type": "node", "name": "sfrxeth.redeem(amount,address(this),msg.sender)", "source_mapping": {"start": 2031, "length": 49, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [62], "starting_column": 9, "ending_column": 58}, "type_specific_fields": {"parent": {"type": "function", "name": "depositSFRXETH", "source_mapping": {"start": 1917, "length": 274, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [58, 59, 60, 61, 62, 63, 64, 65], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OETHZapper", "source_mapping": {"start": 288, "length": 2569, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81], "starting_column": 1, "ending_column": 2}}, "signature": "depositSFRXETH(uint256,uint256)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "Zap(msg.sender,address(sfrxeth),amount)", "source_mapping": {"start": 2090, "length": 46, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [63], "starting_column": 9, "ending_column": 55}, "type_specific_fields": {"parent": {"type": "function", "name": "depositSFRXETH", "source_mapping": {"start": 1917, "length": 274, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [58, 59, 60, 61, 62, 63, 64, 65], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OETHZapper", "source_mapping": {"start": 288, "length": 2569, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81], "starting_column": 1, "ending_column": 2}}, "signature": "depositSFRXETH(uint256,uint256)"}}}, "additional_fields": {"underlying_type": "event"}}], "description": "Reentrancy in OETHZapper.depositSFRXETH(uint256,uint256) (contracts/vault/OETHZapper.sol#58-65):\n\tExternal calls:\n\t- sfrxeth.redeem(amount,address(this),msg.sender) (contracts/vault/OETHZapper.sol#62)\n\tEvent emitted after the call(s):\n\t- Zap(msg.sender,address(sfrxeth),amount) (contracts/vault/OETHZapper.sol#63)\n", "markdown": "Reentrancy in [OETHZapper.depositSFRXETH(uint256,uint256)](contracts/vault/OETHZapper.sol#L58-L65):\n\tExternal calls:\n\t- [sfrxeth.redeem(amount,address(this),msg.sender)](contracts/vault/OETHZapper.sol#L62)\n\tEvent emitted after the call(s):\n\t- [Zap(msg.sender,address(sfrxeth),amount)](contracts/vault/OETHZapper.sol#L63)\n", "first_markdown_element": "contracts/vault/OETHZapper.sol#L58-L65", "id": "85851a0b1393fc930cd8f8cc03338bba3e843ec8b604c42ee9b6932e81b2514d", "check": "reentrancy-events", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "execute", "source_mapping": {"start": 5974, "length": 615, "filename_relative": "contracts/governance/Governor.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/Governor.sol", "filename_short": "contracts/governance/Governor.sol", "is_dependency": false, "lines": [183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Governor", "source_mapping": {"start": 250, "length": 7671, "filename_relative": "contracts/governance/Governor.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/Governor.sol", "filename_short": "contracts/governance/Governor.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242], "starting_column": 1, "ending_column": 2}}, "signature": "execute(uint256)"}}, {"type": "node", "name": "executeTransaction(proposal.targets[i],proposal.signatures[i],proposal.calldatas[i],proposal.eta)", "source_mapping": {"start": 6351, "length": 178, "filename_relative": "contracts/governance/Governor.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/Governor.sol", "filename_short": "contracts/governance/Governor.sol", "is_dependency": false, "lines": [191, 192, 193, 194, 195, 196], "starting_column": 13, "ending_column": 14}, "type_specific_fields": {"parent": {"type": "function", "name": "execute", "source_mapping": {"start": 5974, "length": 615, "filename_relative": "contracts/governance/Governor.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/Governor.sol", "filename_short": "contracts/governance/Governor.sol", "is_dependency": false, "lines": [183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Governor", "source_mapping": {"start": 250, "length": 7671, "filename_relative": "contracts/governance/Governor.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/Governor.sol", "filename_short": "contracts/governance/Governor.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242], "starting_column": 1, "ending_column": 2}}, "signature": "execute(uint256)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "(success,returnData) = target.call(callData)", "source_mapping": {"start": 5793, "length": 63, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [211], "starting_column": 9, "ending_column": 72}, "type_specific_fields": {"parent": {"type": "function", "name": "executeTransaction", "source_mapping": {"start": 4611, "length": 1434, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Timelock", "source_mapping": {"start": 298, "length": 6391, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242], "starting_column": 1, "ending_column": 2}}, "signature": "executeTransaction(address,string,bytes,uint256)"}}}, "additional_fields": {"underlying_type": "external_calls_sending_eth"}}, {"type": "node", "name": "ProposalExecuted(proposalId)", "source_mapping": {"start": 6549, "length": 33, "filename_relative": "contracts/governance/Governor.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/Governor.sol", "filename_short": "contracts/governance/Governor.sol", "is_dependency": false, "lines": [198], "starting_column": 9, "ending_column": 42}, "type_specific_fields": {"parent": {"type": "function", "name": "execute", "source_mapping": {"start": 5974, "length": 615, "filename_relative": "contracts/governance/Governor.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/Governor.sol", "filename_short": "contracts/governance/Governor.sol", "is_dependency": false, "lines": [183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Governor", "source_mapping": {"start": 250, "length": 7671, "filename_relative": "contracts/governance/Governor.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/Governor.sol", "filename_short": "contracts/governance/Governor.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242], "starting_column": 1, "ending_column": 2}}, "signature": "execute(uint256)"}}}, "additional_fields": {"underlying_type": "event"}}], "description": "Reentrancy in Governor.execute(uint256) (contracts/governance/Governor.sol#183-199):\n\tExternal calls:\n\t- executeTransaction(proposal.targets[i],proposal.signatures[i],proposal.calldatas[i],proposal.eta) (contracts/governance/Governor.sol#191-196)\n\t\t- (success,returnData) = target.call(callData) (contracts/timelock/Timelock.sol#211)\n\tEvent emitted after the call(s):\n\t- ProposalExecuted(proposalId) (contracts/governance/Governor.sol#198)\n", "markdown": "Reentrancy in [Governor.execute(uint256)](contracts/governance/Governor.sol#L183-L199):\n\tExternal calls:\n\t- [executeTransaction(proposal.targets[i],proposal.signatures[i],proposal.calldatas[i],proposal.eta)](contracts/governance/Governor.sol#L191-L196)\n\t\t- [(success,returnData) = target.call(callData)](contracts/timelock/Timelock.sol#L211)\n\tEvent emitted after the call(s):\n\t- [ProposalExecuted(proposalId)](contracts/governance/Governor.sol#L198)\n", "first_markdown_element": "contracts/governance/Governor.sol#L183-L199", "id": "95995bb210db1cdec0e731e562ad878ea9fedf5454257a18e4bcbbacaf2e2ec5", "check": "reentrancy-events", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "executeTransaction", "source_mapping": {"start": 4611, "length": 1434, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Timelock", "source_mapping": {"start": 298, "length": 6391, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242], "starting_column": 1, "ending_column": 2}}, "signature": "executeTransaction(address,string,bytes,uint256)"}}, {"type": "node", "name": "(success,returnData) = target.call(callData)", "source_mapping": {"start": 5793, "length": 63, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [211], "starting_column": 9, "ending_column": 72}, "type_specific_fields": {"parent": {"type": "function", "name": "executeTransaction", "source_mapping": {"start": 4611, "length": 1434, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Timelock", "source_mapping": {"start": 298, "length": 6391, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242], "starting_column": 1, "ending_column": 2}}, "signature": "executeTransaction(address,string,bytes,uint256)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "ExecuteTransaction(txHash,target,signature,data,eta)", "source_mapping": {"start": 5949, "length": 61, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [217], "starting_column": 9, "ending_column": 70}, "type_specific_fields": {"parent": {"type": "function", "name": "executeTransaction", "source_mapping": {"start": 4611, "length": 1434, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Timelock", "source_mapping": {"start": 298, "length": 6391, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242], "starting_column": 1, "ending_column": 2}}, "signature": "executeTransaction(address,string,bytes,uint256)"}}}, "additional_fields": {"underlying_type": "event"}}], "description": "Reentrancy in Timelock.executeTransaction(address,string,bytes,uint256) (contracts/timelock/Timelock.sol#171-220):\n\tExternal calls:\n\t- (success,returnData) = target.call(callData) (contracts/timelock/Timelock.sol#211)\n\tEvent emitted after the call(s):\n\t- ExecuteTransaction(txHash,target,signature,data,eta) (contracts/timelock/Timelock.sol#217)\n", "markdown": "Reentrancy in [Timelock.executeTransaction(address,string,bytes,uint256)](contracts/timelock/Timelock.sol#L171-L220):\n\tExternal calls:\n\t- [(success,returnData) = target.call(callData)](contracts/timelock/Timelock.sol#L211)\n\tEvent emitted after the call(s):\n\t- [ExecuteTransaction(txHash,target,signature,data,eta)](contracts/timelock/Timelock.sol#L217)\n", "first_markdown_element": "contracts/timelock/Timelock.sol#L171-L220", "id": "e0774bc5347fd830d0fad9bea289f171838e571546d52b9f1c906de97bc3fa0c", "check": "reentrancy-events", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "initialize", "source_mapping": {"start": 1352, "length": 545, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "InitializeGovernedUpgradeabilityProxy", "source_mapping": {"start": 450, "length": 6294, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [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], "starting_column": 1, "ending_column": 2}}, "signature": "initialize(address,address,bytes)"}}, {"type": "node", "name": "(success) = _logic.delegatecall(_data)", "source_mapping": {"start": 1765, "length": 45, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [46], "starting_column": 13, "ending_column": 58}, "type_specific_fields": {"parent": {"type": "function", "name": "initialize", "source_mapping": {"start": 1352, "length": 545, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "InitializeGovernedUpgradeabilityProxy", "source_mapping": {"start": 450, "length": 6294, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [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], "starting_column": 1, "ending_column": 2}}, "signature": "initialize(address,address,bytes)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "GovernorshipTransferred(_governor(),_newGovernor)", "source_mapping": {"start": 5648, "length": 55, "filename_relative": "contracts/governance/Governable.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/Governable.sol", "filename_short": "contracts/governance/Governable.sol", "is_dependency": false, "lines": [173], "starting_column": 9, "ending_column": 64}, "type_specific_fields": {"parent": {"type": "function", "name": "_changeGovernor", "source_mapping": {"start": 5507, "length": 239, "filename_relative": "contracts/governance/Governable.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/Governable.sol", "filename_short": "contracts/governance/Governable.sol", "is_dependency": false, "lines": [171, 172, 173, 174, 175], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Governable", "source_mapping": {"start": 392, "length": 5356, "filename_relative": "contracts/governance/Governable.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/Governable.sol", "filename_short": "contracts/governance/Governable.sol", "is_dependency": false, "lines": [11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176], "starting_column": 1, "ending_column": 2}}, "signature": "_changeGovernor(address)"}}}, "additional_fields": {"underlying_type": "event"}}, {"type": "node", "name": "_changeGovernor(_initGovernor)", "source_mapping": {"start": 1860, "length": 30, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [49], "starting_column": 9, "ending_column": 39}, "type_specific_fields": {"parent": {"type": "function", "name": "initialize", "source_mapping": {"start": 1352, "length": 545, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "InitializeGovernedUpgradeabilityProxy", "source_mapping": {"start": 450, "length": 6294, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [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], "starting_column": 1, "ending_column": 2}}, "signature": "initialize(address,address,bytes)"}}}, "additional_fields": {"underlying_type": "event"}}], "description": "Reentrancy in InitializeGovernedUpgradeabilityProxy.initialize(address,address,bytes) (contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#34-50):\n\tExternal calls:\n\t- (success) = _logic.delegatecall(_data) (contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#46)\n\tEvent emitted after the call(s):\n\t- GovernorshipTransferred(_governor(),_newGovernor) (contracts/governance/Governable.sol#173)\n\t\t- _changeGovernor(_initGovernor) (contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#49)\n", "markdown": "Reentrancy in [InitializeGovernedUpgradeabilityProxy.initialize(address,address,bytes)](contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#L34-L50):\n\tExternal calls:\n\t- [(success) = _logic.delegatecall(_data)](contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#L46)\n\tEvent emitted after the call(s):\n\t- [GovernorshipTransferred(_governor(),_newGovernor)](contracts/governance/Governable.sol#L173)\n\t\t- [_changeGovernor(_initGovernor)](contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#L49)\n", "first_markdown_element": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#L34-L50", "id": "c1886d12f5031f05c023a4db6d085929c7b6e1bcb012fe5440210bd6de8db2db", "check": "reentrancy-events", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "removeStrategy", "source_mapping": {"start": 13917, "length": 1222, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [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], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultAdmin", "source_mapping": {"start": 549, "length": 22063, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638], "starting_column": 1, "ending_column": 2}}, "signature": "removeStrategy(address)"}}, {"type": "node", "name": "strategy.withdrawAll()", "source_mapping": {"start": 15058, "length": 22, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [406], "starting_column": 13, "ending_column": 35}, "type_specific_fields": {"parent": {"type": "function", "name": "removeStrategy", "source_mapping": {"start": 13917, "length": 1222, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [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], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultAdmin", "source_mapping": {"start": 549, "length": 22063, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638], "starting_column": 1, "ending_column": 2}}, "signature": "removeStrategy(address)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "StrategyRemoved(_addr)", "source_mapping": {"start": 15095, "length": 27, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [408], "starting_column": 13, "ending_column": 40}, "type_specific_fields": {"parent": {"type": "function", "name": "removeStrategy", "source_mapping": {"start": 13917, "length": 1222, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [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], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultAdmin", "source_mapping": {"start": 549, "length": 22063, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638], "starting_column": 1, "ending_column": 2}}, "signature": "removeStrategy(address)"}}}, "additional_fields": {"underlying_type": "event"}}], "description": "Reentrancy in VaultAdmin.removeStrategy(address) (contracts/vault/VaultAdmin.sol#375-410):\n\tExternal calls:\n\t- strategy.withdrawAll() (contracts/vault/VaultAdmin.sol#406)\n\tEvent emitted after the call(s):\n\t- StrategyRemoved(_addr) (contracts/vault/VaultAdmin.sol#408)\n", "markdown": "Reentrancy in [VaultAdmin.removeStrategy(address)](contracts/vault/VaultAdmin.sol#L375-L410):\n\tExternal calls:\n\t- [strategy.withdrawAll()](contracts/vault/VaultAdmin.sol#L406)\n\tEvent emitted after the call(s):\n\t- [StrategyRemoved(_addr)](contracts/vault/VaultAdmin.sol#L408)\n", "first_markdown_element": "contracts/vault/VaultAdmin.sol#L375-L410", "id": "bf97321ba1afc55396d37d4554c182cc74bd59681cfbd04de59fbf2037aa0de8", "check": "reentrancy-events", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "setRewardTokenConfig", "source_mapping": {"start": 4741, "length": 2356, "filename_relative": "contracts/harvest/BaseHarvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/BaseHarvester.sol", "filename_short": "contracts/harvest/BaseHarvester.sol", "is_dependency": false, "lines": [118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseHarvester", "source_mapping": {"start": 733, "length": 12493, "filename_relative": "contracts/harvest/BaseHarvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/BaseHarvester.sol", "filename_short": "contracts/harvest/BaseHarvester.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358], "starting_column": 1, "ending_column": 2}}, "signature": "setRewardTokenConfig(address,uint16,uint16,address,uint256,bool)"}}, {"type": "node", "name": "token.safeApprove(oldUniswapAddress,0)", "source_mapping": {"start": 6537, "length": 39, "filename_relative": "contracts/harvest/BaseHarvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/BaseHarvester.sol", "filename_short": "contracts/harvest/BaseHarvester.sol", "is_dependency": false, "lines": [167], "starting_column": 13, "ending_column": 52}, "type_specific_fields": {"parent": {"type": "function", "name": "setRewardTokenConfig", "source_mapping": {"start": 4741, "length": 2356, "filename_relative": "contracts/harvest/BaseHarvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/BaseHarvester.sol", "filename_short": "contracts/harvest/BaseHarvester.sol", "is_dependency": false, "lines": [118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseHarvester", "source_mapping": {"start": 733, "length": 12493, "filename_relative": "contracts/harvest/BaseHarvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/BaseHarvester.sol", "filename_short": "contracts/harvest/BaseHarvester.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358], "starting_column": 1, "ending_column": 2}}, "signature": "setRewardTokenConfig(address,uint16,uint16,address,uint256,bool)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "token.safeApprove(_uniswapV2CompatibleAddr,0)", "source_mapping": {"start": 6716, "length": 46, "filename_relative": "contracts/harvest/BaseHarvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/BaseHarvester.sol", "filename_short": "contracts/harvest/BaseHarvester.sol", "is_dependency": false, "lines": [172], "starting_column": 13, "ending_column": 59}, "type_specific_fields": {"parent": {"type": "function", "name": "setRewardTokenConfig", "source_mapping": {"start": 4741, "length": 2356, "filename_relative": "contracts/harvest/BaseHarvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/BaseHarvester.sol", "filename_short": "contracts/harvest/BaseHarvester.sol", "is_dependency": false, "lines": [118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseHarvester", "source_mapping": {"start": 733, "length": 12493, "filename_relative": "contracts/harvest/BaseHarvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/BaseHarvester.sol", "filename_short": "contracts/harvest/BaseHarvester.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358], "starting_column": 1, "ending_column": 2}}, "signature": "setRewardTokenConfig(address,uint16,uint16,address,uint256,bool)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "token.safeApprove(_uniswapV2CompatibleAddr,type()(uint256).max)", "source_mapping": {"start": 6776, "length": 62, "filename_relative": "contracts/harvest/BaseHarvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/BaseHarvester.sol", "filename_short": "contracts/harvest/BaseHarvester.sol", "is_dependency": false, "lines": [173], "starting_column": 13, "ending_column": 75}, "type_specific_fields": {"parent": {"type": "function", "name": "setRewardTokenConfig", "source_mapping": {"start": 4741, "length": 2356, "filename_relative": "contracts/harvest/BaseHarvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/BaseHarvester.sol", "filename_short": "contracts/harvest/BaseHarvester.sol", "is_dependency": false, "lines": [118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseHarvester", "source_mapping": {"start": 733, "length": 12493, "filename_relative": "contracts/harvest/BaseHarvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/BaseHarvester.sol", "filename_short": "contracts/harvest/BaseHarvester.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358], "starting_column": 1, "ending_column": 2}}, "signature": "setRewardTokenConfig(address,uint16,uint16,address,uint256,bool)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "RewardTokenConfigUpdated(_tokenAddress,_allowedSlippageBps,_harvestRewardBps,_uniswapV2CompatibleAddr,_liquidationLimit,_doSwapRewardToken)", "source_mapping": {"start": 6859, "length": 231, "filename_relative": "contracts/harvest/BaseHarvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/BaseHarvester.sol", "filename_short": "contracts/harvest/BaseHarvester.sol", "is_dependency": false, "lines": [176, 177, 178, 179, 180, 181, 182, 183], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "setRewardTokenConfig", "source_mapping": {"start": 4741, "length": 2356, "filename_relative": "contracts/harvest/BaseHarvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/BaseHarvester.sol", "filename_short": "contracts/harvest/BaseHarvester.sol", "is_dependency": false, "lines": [118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseHarvester", "source_mapping": {"start": 733, "length": 12493, "filename_relative": "contracts/harvest/BaseHarvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/BaseHarvester.sol", "filename_short": "contracts/harvest/BaseHarvester.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358], "starting_column": 1, "ending_column": 2}}, "signature": "setRewardTokenConfig(address,uint16,uint16,address,uint256,bool)"}}}, "additional_fields": {"underlying_type": "event"}}], "description": "Reentrancy in BaseHarvester.setRewardTokenConfig(address,uint16,uint16,address,uint256,bool) (contracts/harvest/BaseHarvester.sol#118-184):\n\tExternal calls:\n\t- token.safeApprove(oldUniswapAddress,0) (contracts/harvest/BaseHarvester.sol#167)\n\t- token.safeApprove(_uniswapV2CompatibleAddr,0) (contracts/harvest/BaseHarvester.sol#172)\n\t- token.safeApprove(_uniswapV2CompatibleAddr,type()(uint256).max) (contracts/harvest/BaseHarvester.sol#173)\n\tEvent emitted after the call(s):\n\t- RewardTokenConfigUpdated(_tokenAddress,_allowedSlippageBps,_harvestRewardBps,_uniswapV2CompatibleAddr,_liquidationLimit,_doSwapRewardToken) (contracts/harvest/BaseHarvester.sol#176-183)\n", "markdown": "Reentrancy in [BaseHarvester.setRewardTokenConfig(address,uint16,uint16,address,uint256,bool)](contracts/harvest/BaseHarvester.sol#L118-L184):\n\tExternal calls:\n\t- [token.safeApprove(oldUniswapAddress,0)](contracts/harvest/BaseHarvester.sol#L167)\n\t- [token.safeApprove(_uniswapV2CompatibleAddr,0)](contracts/harvest/BaseHarvester.sol#L172)\n\t- [token.safeApprove(_uniswapV2CompatibleAddr,type()(uint256).max)](contracts/harvest/BaseHarvester.sol#L173)\n\tEvent emitted after the call(s):\n\t- [RewardTokenConfigUpdated(_tokenAddress,_allowedSlippageBps,_harvestRewardBps,_uniswapV2CompatibleAddr,_liquidationLimit,_doSwapRewardToken)](contracts/harvest/BaseHarvester.sol#L176-L183)\n", "first_markdown_element": "contracts/harvest/BaseHarvester.sol#L118-L184", "id": "1addc0ad3b34523f06718a759fb43f9c711cbed42dbfc4d5adf831c789b7d879", "check": "reentrancy-events", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "start", "source_mapping": {"start": 3907, "length": 516, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompensationClaims", "source_mapping": {"start": 1527, "length": 3674, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164], "starting_column": 1, "ending_column": 2}}, "signature": "start(uint256)"}}, {"type": "node", "name": "require(bool,string)(end.sub(block.timestamp) < 31622400,Duration too long)", "source_mapping": {"start": 4299, "length": 65, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [132], "starting_column": 9, "ending_column": 74}, "type_specific_fields": {"parent": {"type": "function", "name": "start", "source_mapping": {"start": 3907, "length": 516, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompensationClaims", "source_mapping": {"start": 1527, "length": 3674, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164], "starting_column": 1, "ending_column": 2}}, "signature": "start(uint256)"}}}}], "description": "CompensationClaims.start(uint256) (contracts/compensation/CompensationClaims.sol#121-134) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- require(bool,string)(end.sub(block.timestamp) < 31622400,Duration too long) (contracts/compensation/CompensationClaims.sol#132)\n", "markdown": "[CompensationClaims.start(uint256)](contracts/compensation/CompensationClaims.sol#L121-L134) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [require(bool,string)(end.sub(block.timestamp) < 31622400,Duration too long)](contracts/compensation/CompensationClaims.sol#L132)\n", "first_markdown_element": "contracts/compensation/CompensationClaims.sol#L121-L134", "id": "5b83f20884fa1991b55d37925295030066000baf57de0a1307c028e532d54c3f", "check": "timestamp", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "queue", "source_mapping": {"start": 3911, "length": 646, "filename_relative": "contracts/governance/Governor.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/Governor.sol", "filename_short": "contracts/governance/Governor.sol", "is_dependency": false, "lines": [119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Governor", "source_mapping": {"start": 250, "length": 7671, "filename_relative": "contracts/governance/Governor.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/Governor.sol", "filename_short": "contracts/governance/Governor.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242], "starting_column": 1, "ending_column": 2}}, "signature": "queue(uint256)"}}, {"type": "node", "name": "i < proposal.targets.length", "source_mapping": {"start": 4261, "length": 27, "filename_relative": "contracts/governance/Governor.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/Governor.sol", "filename_short": "contracts/governance/Governor.sol", "is_dependency": false, "lines": [127], "starting_column": 29, "ending_column": 56}, "type_specific_fields": {"parent": {"type": "function", "name": "queue", "source_mapping": {"start": 3911, "length": 646, "filename_relative": "contracts/governance/Governor.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/Governor.sol", "filename_short": "contracts/governance/Governor.sol", "is_dependency": false, "lines": [119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Governor", "source_mapping": {"start": 250, "length": 7671, "filename_relative": "contracts/governance/Governor.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/Governor.sol", "filename_short": "contracts/governance/Governor.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242], "starting_column": 1, "ending_column": 2}}, "signature": "queue(uint256)"}}}}], "description": "Governor.queue(uint256) (contracts/governance/Governor.sol#119-137) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- i < proposal.targets.length (contracts/governance/Governor.sol#127)\n", "markdown": "[Governor.queue(uint256)](contracts/governance/Governor.sol#L119-L137) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [i < proposal.targets.length](contracts/governance/Governor.sol#L127)\n", "first_markdown_element": "contracts/governance/Governor.sol#L119-L137", "id": "2137c873a1058c23a3448bfb16167ca09007c41476b7d4e0a7135f230841d5c1", "check": "timestamp", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "state", "source_mapping": {"start": 4695, "length": 612, "filename_relative": "contracts/governance/Governor.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/Governor.sol", "filename_short": "contracts/governance/Governor.sol", "is_dependency": false, "lines": [144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Governor", "source_mapping": {"start": 250, "length": 7671, "filename_relative": "contracts/governance/Governor.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/Governor.sol", "filename_short": "contracts/governance/Governor.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242], "starting_column": 1, "ending_column": 2}}, "signature": "state(uint256)"}}, {"type": "node", "name": "block.timestamp >= proposal.eta + GRACE_PERIOD", "source_mapping": {"start": 5142, "length": 46, "filename_relative": "contracts/governance/Governor.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/Governor.sol", "filename_short": "contracts/governance/Governor.sol", "is_dependency": false, "lines": [154], "starting_column": 20, "ending_column": 66}, "type_specific_fields": {"parent": {"type": "function", "name": "state", "source_mapping": {"start": 4695, "length": 612, "filename_relative": "contracts/governance/Governor.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/Governor.sol", "filename_short": "contracts/governance/Governor.sol", "is_dependency": false, "lines": [144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Governor", "source_mapping": {"start": 250, "length": 7671, "filename_relative": "contracts/governance/Governor.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/Governor.sol", "filename_short": "contracts/governance/Governor.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242], "starting_column": 1, "ending_column": 2}}, "signature": "state(uint256)"}}}}], "description": "Governor.state(uint256) (contracts/governance/Governor.sol#144-159) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- block.timestamp >= proposal.eta + GRACE_PERIOD (contracts/governance/Governor.sol#154)\n", "markdown": "[Governor.state(uint256)](contracts/governance/Governor.sol#L144-L159) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [block.timestamp >= proposal.eta + GRACE_PERIOD](contracts/governance/Governor.sol#L154)\n", "first_markdown_element": "contracts/governance/Governor.sol#L144-L159", "id": "02c27e1e97be65704f49a4c9ee7cf04c73c7b44901ce4d2fabcf018337a201a9", "check": "timestamp", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_queueOrRevert", "source_mapping": {"start": 5313, "length": 560, "filename_relative": "contracts/governance/Governor.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/Governor.sol", "filename_short": "contracts/governance/Governor.sol", "is_dependency": false, "lines": [161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Governor", "source_mapping": {"start": 250, "length": 7671, "filename_relative": "contracts/governance/Governor.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/Governor.sol", "filename_short": "contracts/governance/Governor.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242], "starting_column": 1, "ending_column": 2}}, "signature": "_queueOrRevert(address,string,bytes,uint256)"}}, {"type": "node", "name": "require(bool,string)(! queuedTransactions[keccak256(bytes)(abi.encode(target,signature,keccak256(bytes)(data),eta))],Governor::_queueOrRevert: proposal action already queued at eta)", "source_mapping": {"start": 5467, "length": 223, "filename_relative": "contracts/governance/Governor.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/Governor.sol", "filename_short": "contracts/governance/Governor.sol", "is_dependency": false, "lines": [167, 168, 169, 170, 171, 172], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "_queueOrRevert", "source_mapping": {"start": 5313, "length": 560, "filename_relative": "contracts/governance/Governor.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/Governor.sol", "filename_short": "contracts/governance/Governor.sol", "is_dependency": false, "lines": [161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Governor", "source_mapping": {"start": 250, "length": 7671, "filename_relative": "contracts/governance/Governor.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/Governor.sol", "filename_short": "contracts/governance/Governor.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242], "starting_column": 1, "ending_column": 2}}, "signature": "_queueOrRevert(address,string,bytes,uint256)"}}}}, {"type": "node", "name": "require(bool,string)(queuedTransactions[queueTransaction(target,signature,data,eta)],Governor::_queueOrRevert: failed to queue transaction)", "source_mapping": {"start": 5700, "length": 166, "filename_relative": "contracts/governance/Governor.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/Governor.sol", "filename_short": "contracts/governance/Governor.sol", "is_dependency": false, "lines": [173, 174, 175, 176], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "_queueOrRevert", "source_mapping": {"start": 5313, "length": 560, "filename_relative": "contracts/governance/Governor.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/Governor.sol", "filename_short": "contracts/governance/Governor.sol", "is_dependency": false, "lines": [161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Governor", "source_mapping": {"start": 250, "length": 7671, "filename_relative": "contracts/governance/Governor.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/Governor.sol", "filename_short": "contracts/governance/Governor.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242], "starting_column": 1, "ending_column": 2}}, "signature": "_queueOrRevert(address,string,bytes,uint256)"}}}}], "description": "Governor._queueOrRevert(address,string,bytes,uint256) (contracts/governance/Governor.sol#161-177) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- require(bool,string)(! queuedTransactions[keccak256(bytes)(abi.encode(target,signature,keccak256(bytes)(data),eta))],Governor::_queueOrRevert: proposal action already queued at eta) (contracts/governance/Governor.sol#167-172)\n\t- require(bool,string)(queuedTransactions[queueTransaction(target,signature,data,eta)],Governor::_queueOrRevert: failed to queue transaction) (contracts/governance/Governor.sol#173-176)\n", "markdown": "[Governor._queueOrRevert(address,string,bytes,uint256)](contracts/governance/Governor.sol#L161-L177) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [require(bool,string)(! queuedTransactions[keccak256(bytes)(abi.encode(target,signature,keccak256(bytes)(data),eta))],Governor::_queueOrRevert: proposal action already queued at eta)](contracts/governance/Governor.sol#L167-L172)\n\t- [require(bool,string)(queuedTransactions[queueTransaction(target,signature,data,eta)],Governor::_queueOrRevert: failed to queue transaction)](contracts/governance/Governor.sol#L173-L176)\n", "first_markdown_element": "contracts/governance/Governor.sol#L161-L177", "id": "159af0fa773affdc68c334f0f8355bad7352607d78acf09065353c8844023a95", "check": "timestamp", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_availableFunds", "source_mapping": {"start": 4737, "length": 304, "filename_relative": "contracts/harvest/Dripper.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/Dripper.sol", "filename_short": "contracts/harvest/Dripper.sol", "is_dependency": false, "lines": [110, 111, 112, 113, 114, 115, 116, 117, 118], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Dripper", "source_mapping": {"start": 2392, "length": 3342, "filename_relative": "contracts/harvest/Dripper.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/Dripper.sol", "filename_short": "contracts/harvest/Dripper.sol", "is_dependency": false, "lines": [47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136], "starting_column": 1, "ending_column": 2}}, "signature": "_availableFunds(uint256,Dripper.Drip)"}}, {"type": "node", "name": "(allowed > _balance)", "source_mapping": {"start": 4986, "length": 48, "filename_relative": "contracts/harvest/Dripper.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/Dripper.sol", "filename_short": "contracts/harvest/Dripper.sol", "is_dependency": false, "lines": [117], "starting_column": 9, "ending_column": 57}, "type_specific_fields": {"parent": {"type": "function", "name": "_availableFunds", "source_mapping": {"start": 4737, "length": 304, "filename_relative": "contracts/harvest/Dripper.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/Dripper.sol", "filename_short": "contracts/harvest/Dripper.sol", "is_dependency": false, "lines": [110, 111, 112, 113, 114, 115, 116, 117, 118], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Dripper", "source_mapping": {"start": 2392, "length": 3342, "filename_relative": "contracts/harvest/Dripper.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/Dripper.sol", "filename_short": "contracts/harvest/Dripper.sol", "is_dependency": false, "lines": [47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136], "starting_column": 1, "ending_column": 2}}, "signature": "_availableFunds(uint256,Dripper.Drip)"}}}}], "description": "Dripper._availableFunds(uint256,Dripper.Drip) (contracts/harvest/Dripper.sol#110-118) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- (allowed > _balance) (contracts/harvest/Dripper.sol#117)\n", "markdown": "[Dripper._availableFunds(uint256,Dripper.Drip)](contracts/harvest/Dripper.sol#L110-L118) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [(allowed > _balance)](contracts/harvest/Dripper.sol#L117)\n", "first_markdown_element": "contracts/harvest/Dripper.sol#L110-L118", "id": "ee8294628e5c36230161b9540cd72381b59c95738c1890babedb966bb74a654f", "check": "timestamp", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "price", "source_mapping": {"start": 1593, "length": 894, "filename_relative": "contracts/oracle/OracleRouter.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/oracle/OracleRouter.sol", "filename_short": "contracts/oracle/OracleRouter.sol", "is_dependency": false, "lines": [41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OracleRouterBase", "source_mapping": {"start": 429, "length": 3340, "filename_relative": "contracts/oracle/OracleRouter.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/oracle/OracleRouter.sol", "filename_short": "contracts/oracle/OracleRouter.sol", "is_dependency": false, "lines": [11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100], "starting_column": 1, "ending_column": 2}}, "signature": "price(address)"}}, {"type": "node", "name": "require(bool,string)(updatedAt + maxStaleness >= block.timestamp,Oracle price too old)", "source_mapping": {"start": 2045, "length": 110, "filename_relative": "contracts/oracle/OracleRouter.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/oracle/OracleRouter.sol", "filename_short": "contracts/oracle/OracleRouter.sol", "is_dependency": false, "lines": [55, 56, 57, 58], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "price", "source_mapping": {"start": 1593, "length": 894, "filename_relative": "contracts/oracle/OracleRouter.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/oracle/OracleRouter.sol", "filename_short": "contracts/oracle/OracleRouter.sol", "is_dependency": false, "lines": [41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OracleRouterBase", "source_mapping": {"start": 429, "length": 3340, "filename_relative": "contracts/oracle/OracleRouter.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/oracle/OracleRouter.sol", "filename_short": "contracts/oracle/OracleRouter.sol", "is_dependency": false, "lines": [11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100], "starting_column": 1, "ending_column": 2}}, "signature": "price(address)"}}}}], "description": "OracleRouterBase.price(address) (contracts/oracle/OracleRouter.sol#41-68) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- require(bool,string)(updatedAt + maxStaleness >= block.timestamp,Oracle price too old) (contracts/oracle/OracleRouter.sol#55-58)\n", "markdown": "[OracleRouterBase.price(address)](contracts/oracle/OracleRouter.sol#L41-L68) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [require(bool,string)(updatedAt + maxStaleness >= block.timestamp,Oracle price too old)](contracts/oracle/OracleRouter.sol#L55-L58)\n", "first_markdown_element": "contracts/oracle/OracleRouter.sol#L41-L68", "id": "941a9e46c1d422f073ef9bad8d9ae199e53ef7b4495bb290067fcc5073512256", "check": "timestamp", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "price", "source_mapping": {"start": 7130, "length": 700, "filename_relative": "contracts/oracle/OracleRouter.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/oracle/OracleRouter.sol", "filename_short": "contracts/oracle/OracleRouter.sol", "is_dependency": false, "lines": [172, 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": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OETHOracleRouter", "source_mapping": {"start": 6730, "length": 3600, "filename_relative": "contracts/oracle/OracleRouter.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/oracle/OracleRouter.sol", "filename_short": "contracts/oracle/OracleRouter.sol", "is_dependency": false, "lines": [162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249], "starting_column": 1, "ending_column": 2}}, "signature": "price(address)"}}, {"type": "node", "name": "require(bool,string)(updatedAt + maxStaleness >= block.timestamp,Oracle price too old)", "source_mapping": {"start": 7579, "length": 110, "filename_relative": "contracts/oracle/OracleRouter.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/oracle/OracleRouter.sol", "filename_short": "contracts/oracle/OracleRouter.sol", "is_dependency": false, "lines": [188, 189, 190, 191], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "price", "source_mapping": {"start": 7130, "length": 700, "filename_relative": "contracts/oracle/OracleRouter.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/oracle/OracleRouter.sol", "filename_short": "contracts/oracle/OracleRouter.sol", "is_dependency": false, "lines": [172, 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": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OETHOracleRouter", "source_mapping": {"start": 6730, "length": 3600, "filename_relative": "contracts/oracle/OracleRouter.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/oracle/OracleRouter.sol", "filename_short": "contracts/oracle/OracleRouter.sol", "is_dependency": false, "lines": [162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249], "starting_column": 1, "ending_column": 2}}, "signature": "price(address)"}}}}], "description": "OETHOracleRouter.price(address) (contracts/oracle/OracleRouter.sol#172-196) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- require(bool,string)(updatedAt + maxStaleness >= block.timestamp,Oracle price too old) (contracts/oracle/OracleRouter.sol#188-191)\n", "markdown": "[OETHOracleRouter.price(address)](contracts/oracle/OracleRouter.sol#L172-L196) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [require(bool,string)(updatedAt + maxStaleness >= block.timestamp,Oracle price too old)](contracts/oracle/OracleRouter.sol#L188-L191)\n", "first_markdown_element": "contracts/oracle/OracleRouter.sol#L172-L196", "id": "30ac3b1240598ae650be71ab351ccb26d9c1933d8b3309eb6b91d9d764e4d2a6", "check": "timestamp", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_stake", "source_mapping": {"start": 4959, "length": 1129, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SingleAssetStaking", "source_mapping": {"start": 466, "length": 18304, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562], "starting_column": 1, "ending_column": 2}}, "signature": "_stake(address,uint8,uint256,uint240,uint256)"}}, {"type": "node", "name": "i != 0 && stakes[i - 1].end > end", "source_mapping": {"start": 5571, "length": 33, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [176], "starting_column": 16, "ending_column": 49}, "type_specific_fields": {"parent": {"type": "function", "name": "_stake", "source_mapping": {"start": 4959, "length": 1129, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SingleAssetStaking", "source_mapping": {"start": 466, "length": 18304, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562], "starting_column": 1, "ending_column": 2}}, "signature": "_stake(address,uint8,uint256,uint240,uint256)"}}}}], "description": "SingleAssetStaking._stake(address,uint8,uint256,uint240,uint256) (contracts/staking/SingleAssetStaking.sol#156-193) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- i != 0 && stakes[i - 1].end > end (contracts/staking/SingleAssetStaking.sol#176)\n", "markdown": "[SingleAssetStaking._stake(address,uint8,uint256,uint240,uint256)](contracts/staking/SingleAssetStaking.sol#L156-L193) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [i != 0 && stakes[i - 1].end > end](contracts/staking/SingleAssetStaking.sol#L176)\n", "first_markdown_element": "contracts/staking/SingleAssetStaking.sol#L156-L193", "id": "59e4d25ecbf272e2b8350c804aa707d9ab173f2564910d304dbc5dc06ede09d1", "check": "timestamp", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "totalCurrentHoldings", "source_mapping": {"start": 9089, "length": 978, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SingleAssetStaking", "source_mapping": {"start": 466, "length": 18304, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562], "starting_column": 1, "ending_column": 2}}, "signature": "totalCurrentHoldings(address)"}}, {"type": "node", "name": "stake.end < block.timestamp", "source_mapping": {"start": 9437, "length": 27, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [310], "starting_column": 24, "ending_column": 51}, "type_specific_fields": {"parent": {"type": "function", "name": "totalCurrentHoldings", "source_mapping": {"start": 9089, "length": 978, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SingleAssetStaking", "source_mapping": {"start": 466, "length": 18304, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562], "starting_column": 1, "ending_column": 2}}, "signature": "totalCurrentHoldings(address)"}}}}], "description": "SingleAssetStaking.totalCurrentHoldings(address) (contracts/staking/SingleAssetStaking.sol#299-326) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- stake.end < block.timestamp (contracts/staking/SingleAssetStaking.sol#310)\n", "markdown": "[SingleAssetStaking.totalCurrentHoldings(address)](contracts/staking/SingleAssetStaking.sol#L299-L326) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [stake.end < block.timestamp](contracts/staking/SingleAssetStaking.sol#L310)\n", "first_markdown_element": "contracts/staking/SingleAssetStaking.sol#L299-L326", "id": "c9a2fccc6d9527ba7a74dff7691406e71d75688e9ec33d21820b86f65c7266f8", "check": "timestamp", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "exit", "source_mapping": {"start": 13747, "length": 1130, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [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], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SingleAssetStaking", "source_mapping": {"start": 466, "length": 18304, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562], "starting_column": 1, "ending_column": 2}}, "signature": "exit()"}}, {"type": "node", "name": "exitStake.end < block.timestamp && exitStake.paid", "source_mapping": {"start": 14159, "length": 49, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [434], "starting_column": 17, "ending_column": 66}, "type_specific_fields": {"parent": {"type": "function", "name": "exit", "source_mapping": {"start": 13747, "length": 1130, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [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], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SingleAssetStaking", "source_mapping": {"start": 466, "length": 18304, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562], "starting_column": 1, "ending_column": 2}}, "signature": "exit()"}}}}, {"type": "node", "name": "exitStake.end < block.timestamp", "source_mapping": {"start": 14298, "length": 31, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [438], "starting_column": 17, "ending_column": 48}, "type_specific_fields": {"parent": {"type": "function", "name": "exit", "source_mapping": {"start": 13747, "length": 1130, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [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], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SingleAssetStaking", "source_mapping": {"start": 466, "length": 18304, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562], "starting_column": 1, "ending_column": 2}}, "signature": "exit()"}}}}], "description": "SingleAssetStaking.exit() (contracts/staking/SingleAssetStaking.sol#424-451) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- exitStake.end < block.timestamp && exitStake.paid (contracts/staking/SingleAssetStaking.sol#434)\n\t- exitStake.end < block.timestamp (contracts/staking/SingleAssetStaking.sol#438)\n", "markdown": "[SingleAssetStaking.exit()](contracts/staking/SingleAssetStaking.sol#L424-L451) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [exitStake.end < block.timestamp && exitStake.paid](contracts/staking/SingleAssetStaking.sol#L434)\n\t- [exitStake.end < block.timestamp](contracts/staking/SingleAssetStaking.sol#L438)\n", "first_markdown_element": "contracts/staking/SingleAssetStaking.sol#L424-L451", "id": "11fe90ed1f7cd460fa16d14548bab47d68ca0f160277bec99bde6f60e254a9ce", "check": "timestamp", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "collectRewardTokens", "source_mapping": {"start": 8208, "length": 2725, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.sol", "is_dependency": false, "lines": [235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AaveStrategy", "source_mapping": {"start": 536, "length": 10399, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305], "starting_column": 1, "ending_column": 2}}, "signature": "collectRewardTokens()"}}, {"type": "node", "name": "block.timestamp > windowStart && block.timestamp <= windowEnd", "source_mapping": {"start": 8774, "length": 61, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.sol", "is_dependency": false, "lines": [252], "starting_column": 13, "ending_column": 74}, "type_specific_fields": {"parent": {"type": "function", "name": "collectRewardTokens", "source_mapping": {"start": 8208, "length": 2725, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.sol", "is_dependency": false, "lines": [235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AaveStrategy", "source_mapping": {"start": 536, "length": 10399, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305], "starting_column": 1, "ending_column": 2}}, "signature": "collectRewardTokens()"}}}}, {"type": "node", "name": "block.timestamp > windowStart || cooldown == 0", "source_mapping": {"start": 9508, "length": 46, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.sol", "is_dependency": false, "lines": [271], "starting_column": 13, "ending_column": 59}, "type_specific_fields": {"parent": {"type": "function", "name": "collectRewardTokens", "source_mapping": {"start": 8208, "length": 2725, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.sol", "is_dependency": false, "lines": [235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AaveStrategy", "source_mapping": {"start": 536, "length": 10399, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305], "starting_column": 1, "ending_column": 2}}, "signature": "collectRewardTokens()"}}}}], "description": "AaveStrategy.collectRewardTokens() (contracts/strategies/AaveStrategy.sol#235-304) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- block.timestamp > windowStart && block.timestamp <= windowEnd (contracts/strategies/AaveStrategy.sol#252)\n\t- block.timestamp > windowStart || cooldown == 0 (contracts/strategies/AaveStrategy.sol#271)\n", "markdown": "[AaveStrategy.collectRewardTokens()](contracts/strategies/AaveStrategy.sol#L235-L304) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [block.timestamp > windowStart && block.timestamp <= windowEnd](contracts/strategies/AaveStrategy.sol#L252)\n\t- [block.timestamp > windowStart || cooldown == 0](contracts/strategies/AaveStrategy.sol#L271)\n", "first_markdown_element": "contracts/strategies/AaveStrategy.sol#L235-L304", "id": "968fabc80c58dd0ce3e948c18f9b2c9c05b6b05906a7348f16dff07c08fcff06", "check": "timestamp", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "checkDelta", "source_mapping": {"start": 1159, "length": 1203, "filename_relative": "contracts/strategies/VaultValueChecker.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/VaultValueChecker.sol", "filename_short": "contracts/strategies/VaultValueChecker.sol", "is_dependency": false, "lines": [39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultValueChecker", "source_mapping": {"start": 158, "length": 2590, "filename_relative": "contracts/strategies/VaultValueChecker.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/VaultValueChecker.sol", "filename_short": "contracts/strategies/VaultValueChecker.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, 79], "starting_column": 1, "ending_column": 2}}, "signature": "checkDelta(int256,int256,int256,int256)"}}, {"type": "node", "name": "require(bool,string)(snapshot.time >= block.timestamp - SNAPSHOT_EXPIRES,Snapshot too old)", "source_mapping": {"start": 1734, "length": 114, "filename_relative": "contracts/strategies/VaultValueChecker.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/VaultValueChecker.sol", "filename_short": "contracts/strategies/VaultValueChecker.sol", "is_dependency": false, "lines": [53, 54, 55, 56], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "checkDelta", "source_mapping": {"start": 1159, "length": 1203, "filename_relative": "contracts/strategies/VaultValueChecker.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/VaultValueChecker.sol", "filename_short": "contracts/strategies/VaultValueChecker.sol", "is_dependency": false, "lines": [39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultValueChecker", "source_mapping": {"start": 158, "length": 2590, "filename_relative": "contracts/strategies/VaultValueChecker.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/VaultValueChecker.sol", "filename_short": "contracts/strategies/VaultValueChecker.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, 79], "starting_column": 1, "ending_column": 2}}, "signature": "checkDelta(int256,int256,int256,int256)"}}}}, {"type": "node", "name": "require(bool,string)(snapshot.time <= block.timestamp,Snapshot too new)", "source_mapping": {"start": 1858, "length": 61, "filename_relative": "contracts/strategies/VaultValueChecker.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/VaultValueChecker.sol", "filename_short": "contracts/strategies/VaultValueChecker.sol", "is_dependency": false, "lines": [57], "starting_column": 9, "ending_column": 70}, "type_specific_fields": {"parent": {"type": "function", "name": "checkDelta", "source_mapping": {"start": 1159, "length": 1203, "filename_relative": "contracts/strategies/VaultValueChecker.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/VaultValueChecker.sol", "filename_short": "contracts/strategies/VaultValueChecker.sol", "is_dependency": false, "lines": [39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultValueChecker", "source_mapping": {"start": 158, "length": 2590, "filename_relative": "contracts/strategies/VaultValueChecker.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/VaultValueChecker.sol", "filename_short": "contracts/strategies/VaultValueChecker.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, 79], "starting_column": 1, "ending_column": 2}}, "signature": "checkDelta(int256,int256,int256,int256)"}}}}, {"type": "node", "name": "require(bool,string)(profit >= expectedProfit - profitVariance,Profit too low)", "source_mapping": {"start": 1929, "length": 68, "filename_relative": "contracts/strategies/VaultValueChecker.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/VaultValueChecker.sol", "filename_short": "contracts/strategies/VaultValueChecker.sol", "is_dependency": false, "lines": [58], "starting_column": 9, "ending_column": 77}, "type_specific_fields": {"parent": {"type": "function", "name": "checkDelta", "source_mapping": {"start": 1159, "length": 1203, "filename_relative": "contracts/strategies/VaultValueChecker.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/VaultValueChecker.sol", "filename_short": "contracts/strategies/VaultValueChecker.sol", "is_dependency": false, "lines": [39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultValueChecker", "source_mapping": {"start": 158, "length": 2590, "filename_relative": "contracts/strategies/VaultValueChecker.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/VaultValueChecker.sol", "filename_short": "contracts/strategies/VaultValueChecker.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, 79], "starting_column": 1, "ending_column": 2}}, "signature": "checkDelta(int256,int256,int256,int256)"}}}}, {"type": "node", "name": "require(bool,string)(profit <= expectedProfit + profitVariance,Profit too high)", "source_mapping": {"start": 2007, "length": 69, "filename_relative": "contracts/strategies/VaultValueChecker.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/VaultValueChecker.sol", "filename_short": "contracts/strategies/VaultValueChecker.sol", "is_dependency": false, "lines": [59], "starting_column": 9, "ending_column": 78}, "type_specific_fields": {"parent": {"type": "function", "name": "checkDelta", "source_mapping": {"start": 1159, "length": 1203, "filename_relative": "contracts/strategies/VaultValueChecker.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/VaultValueChecker.sol", "filename_short": "contracts/strategies/VaultValueChecker.sol", "is_dependency": false, "lines": [39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultValueChecker", "source_mapping": {"start": 158, "length": 2590, "filename_relative": "contracts/strategies/VaultValueChecker.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/VaultValueChecker.sol", "filename_short": "contracts/strategies/VaultValueChecker.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, 79], "starting_column": 1, "ending_column": 2}}, "signature": "checkDelta(int256,int256,int256,int256)"}}}}, {"type": "node", "name": "require(bool,string)(vaultChange >= expectedVaultChange - vaultChangeVariance,Vault value change too low)", "source_mapping": {"start": 2086, "length": 129, "filename_relative": "contracts/strategies/VaultValueChecker.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/VaultValueChecker.sol", "filename_short": "contracts/strategies/VaultValueChecker.sol", "is_dependency": false, "lines": [60, 61, 62, 63], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "checkDelta", "source_mapping": {"start": 1159, "length": 1203, "filename_relative": "contracts/strategies/VaultValueChecker.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/VaultValueChecker.sol", "filename_short": "contracts/strategies/VaultValueChecker.sol", "is_dependency": false, "lines": [39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultValueChecker", "source_mapping": {"start": 158, "length": 2590, "filename_relative": "contracts/strategies/VaultValueChecker.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/VaultValueChecker.sol", "filename_short": "contracts/strategies/VaultValueChecker.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, 79], "starting_column": 1, "ending_column": 2}}, "signature": "checkDelta(int256,int256,int256,int256)"}}}}, {"type": "node", "name": "require(bool,string)(vaultChange <= expectedVaultChange + vaultChangeVariance,Vault value change too high)", "source_mapping": {"start": 2225, "length": 130, "filename_relative": "contracts/strategies/VaultValueChecker.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/VaultValueChecker.sol", "filename_short": "contracts/strategies/VaultValueChecker.sol", "is_dependency": false, "lines": [64, 65, 66, 67], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "checkDelta", "source_mapping": {"start": 1159, "length": 1203, "filename_relative": "contracts/strategies/VaultValueChecker.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/VaultValueChecker.sol", "filename_short": "contracts/strategies/VaultValueChecker.sol", "is_dependency": false, "lines": [39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultValueChecker", "source_mapping": {"start": 158, "length": 2590, "filename_relative": "contracts/strategies/VaultValueChecker.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/VaultValueChecker.sol", "filename_short": "contracts/strategies/VaultValueChecker.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, 79], "starting_column": 1, "ending_column": 2}}, "signature": "checkDelta(int256,int256,int256,int256)"}}}}], "description": "VaultValueChecker.checkDelta(int256,int256,int256,int256) (contracts/strategies/VaultValueChecker.sol#39-68) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- require(bool,string)(snapshot.time >= block.timestamp - SNAPSHOT_EXPIRES,Snapshot too old) (contracts/strategies/VaultValueChecker.sol#53-56)\n\t- require(bool,string)(snapshot.time <= block.timestamp,Snapshot too new) (contracts/strategies/VaultValueChecker.sol#57)\n\t- require(bool,string)(profit >= expectedProfit - profitVariance,Profit too low) (contracts/strategies/VaultValueChecker.sol#58)\n\t- require(bool,string)(profit <= expectedProfit + profitVariance,Profit too high) (contracts/strategies/VaultValueChecker.sol#59)\n\t- require(bool,string)(vaultChange >= expectedVaultChange - vaultChangeVariance,Vault value change too low) (contracts/strategies/VaultValueChecker.sol#60-63)\n\t- require(bool,string)(vaultChange <= expectedVaultChange + vaultChangeVariance,Vault value change too high) (contracts/strategies/VaultValueChecker.sol#64-67)\n", "markdown": "[VaultValueChecker.checkDelta(int256,int256,int256,int256)](contracts/strategies/VaultValueChecker.sol#L39-L68) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [require(bool,string)(snapshot.time >= block.timestamp - SNAPSHOT_EXPIRES,Snapshot too old)](contracts/strategies/VaultValueChecker.sol#L53-L56)\n\t- [require(bool,string)(snapshot.time <= block.timestamp,Snapshot too new)](contracts/strategies/VaultValueChecker.sol#L57)\n\t- [require(bool,string)(profit >= expectedProfit - profitVariance,Profit too low)](contracts/strategies/VaultValueChecker.sol#L58)\n\t- [require(bool,string)(profit <= expectedProfit + profitVariance,Profit too high)](contracts/strategies/VaultValueChecker.sol#L59)\n\t- [require(bool,string)(vaultChange >= expectedVaultChange - vaultChangeVariance,Vault value change too low)](contracts/strategies/VaultValueChecker.sol#L60-L63)\n\t- [require(bool,string)(vaultChange <= expectedVaultChange + vaultChangeVariance,Vault value change too high)](contracts/strategies/VaultValueChecker.sol#L64-L67)\n", "first_markdown_element": "contracts/strategies/VaultValueChecker.sol#L39-L68", "id": "d3613301885a93d6dbc73b145454faf816e3cdaa258c9a2a2f6768e2e79525b3", "check": "timestamp", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "toInt256", "source_mapping": {"start": 2368, "length": 378, "filename_relative": "contracts/strategies/VaultValueChecker.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/VaultValueChecker.sol", "filename_short": "contracts/strategies/VaultValueChecker.sol", "is_dependency": false, "lines": [70, 71, 72, 73, 74, 75, 76, 77, 78], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultValueChecker", "source_mapping": {"start": 158, "length": 2590, "filename_relative": "contracts/strategies/VaultValueChecker.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/VaultValueChecker.sol", "filename_short": "contracts/strategies/VaultValueChecker.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, 79], "starting_column": 1, "ending_column": 2}}, "signature": "toInt256(uint256)"}}, {"type": "node", "name": "require(bool,string)(value <= uint256(type()(int256).max),SafeCast: value doesn't fit in an int256)", "source_mapping": {"start": 2588, "length": 121, "filename_relative": "contracts/strategies/VaultValueChecker.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/VaultValueChecker.sol", "filename_short": "contracts/strategies/VaultValueChecker.sol", "is_dependency": false, "lines": [73, 74, 75, 76], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "toInt256", "source_mapping": {"start": 2368, "length": 378, "filename_relative": "contracts/strategies/VaultValueChecker.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/VaultValueChecker.sol", "filename_short": "contracts/strategies/VaultValueChecker.sol", "is_dependency": false, "lines": [70, 71, 72, 73, 74, 75, 76, 77, 78], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultValueChecker", "source_mapping": {"start": 158, "length": 2590, "filename_relative": "contracts/strategies/VaultValueChecker.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/VaultValueChecker.sol", "filename_short": "contracts/strategies/VaultValueChecker.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, 79], "starting_column": 1, "ending_column": 2}}, "signature": "toInt256(uint256)"}}}}], "description": "VaultValueChecker.toInt256(uint256) (contracts/strategies/VaultValueChecker.sol#70-78) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- require(bool,string)(value <= uint256(type()(int256).max),SafeCast: value doesn't fit in an int256) (contracts/strategies/VaultValueChecker.sol#73-76)\n", "markdown": "[VaultValueChecker.toInt256(uint256)](contracts/strategies/VaultValueChecker.sol#L70-L78) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [require(bool,string)(value <= uint256(type()(int256).max),SafeCast: value doesn't fit in an int256)](contracts/strategies/VaultValueChecker.sol#L73-L76)\n", "first_markdown_element": "contracts/strategies/VaultValueChecker.sol#L70-L78", "id": "b05b7bbec1cc1e45646561a009903c0b29bb6fa4cd5a499f84d6efc2f6feb6df", "check": "timestamp", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "queueTransaction", "source_mapping": {"start": 2824, "length": 716, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Timelock", "source_mapping": {"start": 298, "length": 6391, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242], "starting_column": 1, "ending_column": 2}}, "signature": "queueTransaction(address,string,bytes,uint256)"}}, {"type": "node", "name": "require(bool,string)(eta >= getBlockTimestamp().add(delay),Timelock::queueTransaction: Estimated execution block must satisfy delay.)", "source_mapping": {"start": 3128, "length": 157, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [121, 122, 123, 124], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "queueTransaction", "source_mapping": {"start": 2824, "length": 716, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Timelock", "source_mapping": {"start": 298, "length": 6391, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242], "starting_column": 1, "ending_column": 2}}, "signature": "queueTransaction(address,string,bytes,uint256)"}}}}], "description": "Timelock.queueTransaction(address,string,bytes,uint256) (contracts/timelock/Timelock.sol#111-133) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- require(bool,string)(eta >= getBlockTimestamp().add(delay),Timelock::queueTransaction: Estimated execution block must satisfy delay.) (contracts/timelock/Timelock.sol#121-124)\n", "markdown": "[Timelock.queueTransaction(address,string,bytes,uint256)](contracts/timelock/Timelock.sol#L111-L133) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [require(bool,string)(eta >= getBlockTimestamp().add(delay),Timelock::queueTransaction: Estimated execution block must satisfy delay.)](contracts/timelock/Timelock.sol#L121-L124)\n", "first_markdown_element": "contracts/timelock/Timelock.sol#L111-L133", "id": "309579e288ce535a8bf683a677db815188f46f43fc503822ebe9e2ca4cfee982", "check": "timestamp", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "executeTransaction", "source_mapping": {"start": 4611, "length": 1434, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Timelock", "source_mapping": {"start": 298, "length": 6391, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242], "starting_column": 1, "ending_column": 2}}, "signature": "executeTransaction(address,string,bytes,uint256)"}}, {"type": "node", "name": "require(bool,string)(getBlockTimestamp() >= eta,Timelock::executeTransaction: Transaction hasn't surpassed time lock.)", "source_mapping": {"start": 5180, "length": 142, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [189, 190, 191, 192], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "executeTransaction", "source_mapping": {"start": 4611, "length": 1434, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Timelock", "source_mapping": {"start": 298, "length": 6391, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242], "starting_column": 1, "ending_column": 2}}, "signature": "executeTransaction(address,string,bytes,uint256)"}}}}, {"type": "node", "name": "require(bool,string)(getBlockTimestamp() <= eta.add(GRACE_PERIOD),Timelock::executeTransaction: Transaction is stale.)", "source_mapping": {"start": 5332, "length": 142, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [193, 194, 195, 196], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "executeTransaction", "source_mapping": {"start": 4611, "length": 1434, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Timelock", "source_mapping": {"start": 298, "length": 6391, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242], "starting_column": 1, "ending_column": 2}}, "signature": "executeTransaction(address,string,bytes,uint256)"}}}}], "description": "Timelock.executeTransaction(address,string,bytes,uint256) (contracts/timelock/Timelock.sol#171-220) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- require(bool,string)(getBlockTimestamp() >= eta,Timelock::executeTransaction: Transaction hasn't surpassed time lock.) (contracts/timelock/Timelock.sol#189-192)\n\t- require(bool,string)(getBlockTimestamp() <= eta.add(GRACE_PERIOD),Timelock::executeTransaction: Transaction is stale.) (contracts/timelock/Timelock.sol#193-196)\n", "markdown": "[Timelock.executeTransaction(address,string,bytes,uint256)](contracts/timelock/Timelock.sol#L171-L220) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [require(bool,string)(getBlockTimestamp() >= eta,Timelock::executeTransaction: Transaction hasn't surpassed time lock.)](contracts/timelock/Timelock.sol#L189-L192)\n\t- [require(bool,string)(getBlockTimestamp() <= eta.add(GRACE_PERIOD),Timelock::executeTransaction: Transaction is stale.)](contracts/timelock/Timelock.sol#L193-L196)\n", "first_markdown_element": "contracts/timelock/Timelock.sol#L171-L220", "id": "79f500fc73009411a220ea534de8c32a392f82c28a4f46665588f7059ee2e1db", "check": "timestamp", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "node", "name": "i < assetsMapped.length", "source_mapping": {"start": 2603, "length": 23, "filename_relative": "contracts/strategies/BaseCurveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/BaseCurveStrategy.sol", "filename_short": "contracts/strategies/BaseCurveStrategy.sol", "is_dependency": false, "lines": [71], "starting_column": 29, "ending_column": 52}, "type_specific_fields": {"parent": {"type": "function", "name": "depositAll", "source_mapping": {"start": 2273, "length": 1730, "filename_relative": "contracts/strategies/BaseCurveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/BaseCurveStrategy.sol", "filename_short": "contracts/strategies/BaseCurveStrategy.sol", "is_dependency": false, "lines": [65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseCurveStrategy", "source_mapping": {"start": 536, "length": 11069, "filename_relative": "contracts/strategies/BaseCurveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/BaseCurveStrategy.sol", "filename_short": "contracts/strategies/BaseCurveStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307], "starting_column": 1, "ending_column": 2}}, "signature": "depositAll()"}}}}], "description": "Loop condition i < assetsMapped.length (contracts/strategies/BaseCurveStrategy.sol#71) should use cached array length instead of referencing `length` member of the storage array.\n ", "markdown": "Loop condition [i < assetsMapped.length](contracts/strategies/BaseCurveStrategy.sol#L71) should use cached array length instead of referencing `length` member of the storage array.\n ", "first_markdown_element": "contracts/strategies/BaseCurveStrategy.sol#L71", "id": "00eb856d9eb41c76fa3893d6391c142ff67834587a7816db3ccfea5f906c7beb", "check": "cache-array-length", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "node", "name": "i < assetsMapped.length", "source_mapping": {"start": 3988, "length": 23, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [108], "starting_column": 29, "ending_column": 52}, "type_specific_fields": {"parent": {"type": "function", "name": "collectRewardTokens", "source_mapping": {"start": 2790, "length": 1954, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MorphoCompoundStrategy", "source_mapping": {"start": 608, "length": 7945, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251], "starting_column": 1, "ending_column": 2}}, "signature": "collectRewardTokens()"}}}}], "description": "Loop condition i < assetsMapped.length (contracts/strategies/MorphoCompoundStrategy.sol#108) should use cached array length instead of referencing `length` member of the storage array.\n ", "markdown": "Loop condition [i < assetsMapped.length](contracts/strategies/MorphoCompoundStrategy.sol#L108) should use cached array length instead of referencing `length` member of the storage array.\n ", "first_markdown_element": "contracts/strategies/MorphoCompoundStrategy.sol#L108", "id": "0f668f7a9fbd8dd8cf5f256a648a89ede585af5a1bfb2890671cb61edeaee985", "check": "cache-array-length", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "node", "name": "i < assetsMapped.length", "source_mapping": {"start": 5019, "length": 23, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [134], "starting_column": 29, "ending_column": 52}, "type_specific_fields": {"parent": {"type": "function", "name": "getPendingRewards", "source_mapping": {"start": 4846, "length": 360, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [132, 133, 134, 135, 136, 137, 138, 139], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MorphoCompoundStrategy", "source_mapping": {"start": 608, "length": 7945, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251], "starting_column": 1, "ending_column": 2}}, "signature": "getPendingRewards()"}}}}], "description": "Loop condition i < assetsMapped.length (contracts/strategies/MorphoCompoundStrategy.sol#134) should use cached array length instead of referencing `length` member of the storage array.\n ", "markdown": "Loop condition [i < assetsMapped.length](contracts/strategies/MorphoCompoundStrategy.sol#L134) should use cached array length instead of referencing `length` member of the storage array.\n ", "first_markdown_element": "contracts/strategies/MorphoCompoundStrategy.sol#L134", "id": "125f9e1a415eb9e7fbdcb8c4e5b48f67d49102127bfb2dd609ed19d450e0621a", "check": "cache-array-length", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "node", "name": "i < durations.length", "source_mapping": {"start": 4163, "length": 20, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [136], "starting_column": 29, "ending_column": 49}, "type_specific_fields": {"parent": {"type": "function", "name": "_findDurationRate", "source_mapping": {"start": 4028, "length": 297, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SingleAssetStaking", "source_mapping": {"start": 466, "length": 18304, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562], "starting_column": 1, "ending_column": 2}}, "signature": "_findDurationRate(uint256)"}}}}], "description": "Loop condition i < durations.length (contracts/staking/SingleAssetStaking.sol#136) should use cached array length instead of referencing `length` member of the storage array.\n ", "markdown": "Loop condition [i < durations.length](contracts/staking/SingleAssetStaking.sol#L136) should use cached array length instead of referencing `length` member of the storage array.\n ", "first_markdown_element": "contracts/staking/SingleAssetStaking.sol#L136", "id": "a5e81880592f41137e823b4f15ded88227b6508181f8767dee55d587fde3d611", "check": "cache-array-length", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "node", "name": "i < assetsMapped.length", "source_mapping": {"start": 9693, "length": 23, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.sol", "is_dependency": false, "lines": [278], "starting_column": 33, "ending_column": 56}, "type_specific_fields": {"parent": {"type": "function", "name": "collectRewardTokens", "source_mapping": {"start": 8178, "length": 2692, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.sol", "is_dependency": false, "lines": [239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AaveStrategy", "source_mapping": {"start": 536, "length": 10336, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308], "starting_column": 1, "ending_column": 2}}, "signature": "collectRewardTokens()"}}}}], "description": "Loop condition i < assetsMapped.length (contracts/strategies/AaveStrategy.sol#278) should use cached array length instead of referencing `length` member of the storage array.\n ", "markdown": "Loop condition [i < assetsMapped.length](contracts/strategies/AaveStrategy.sol#L278) should use cached array length instead of referencing `length` member of the storage array.\n ", "first_markdown_element": "contracts/strategies/AaveStrategy.sol#L278", "id": "e931b38970ae25097f584f7e7dd3e72186cff433764ed75bc1d83a29de89d4d1", "check": "cache-array-length", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "function", "name": "_setUniswapUniversalRouter", "source_mapping": {"start": 3522, "length": 320, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.sol", "is_dependency": false, "lines": [104, 105, 106, 107, 108, 109, 110, 111, 112, 113], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseBuyback", "source_mapping": {"start": 546, "length": 7983, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.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, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267], "starting_column": 1, "ending_column": 2}}, "signature": "_setUniswapUniversalRouter(address)"}}, {"type": "node", "name": "IERC20(oToken).approve(universalRouter,0)", "source_mapping": {"start": 3693, "length": 42, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.sol", "is_dependency": false, "lines": [107], "starting_column": 13, "ending_column": 55}, "type_specific_fields": {"parent": {"type": "function", "name": "_setUniswapUniversalRouter", "source_mapping": {"start": 3522, "length": 320, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.sol", "is_dependency": false, "lines": [104, 105, 106, 107, 108, 109, 110, 111, 112, 113], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseBuyback", "source_mapping": {"start": 546, "length": 7983, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.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, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267], "starting_column": 1, "ending_column": 2}}, "signature": "_setUniswapUniversalRouter(address)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "universalRouter = _router", "source_mapping": {"start": 3756, "length": 25, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.sol", "is_dependency": false, "lines": [110], "starting_column": 9, "ending_column": 34}, "type_specific_fields": {"parent": {"type": "function", "name": "_setUniswapUniversalRouter", "source_mapping": {"start": 3522, "length": 320, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.sol", "is_dependency": false, "lines": [104, 105, 106, 107, 108, 109, 110, 111, 112, 113], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseBuyback", "source_mapping": {"start": 546, "length": 7983, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.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, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267], "starting_column": 1, "ending_column": 2}}, "signature": "_setUniswapUniversalRouter(address)"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "universalRouter"}}], "description": "Reentrancy in BaseBuyback._setUniswapUniversalRouter(address) (contracts/buyback/BaseBuyback.sol#104-113):\n\tExternal calls:\n\t- IERC20(oToken).approve(universalRouter,0) (contracts/buyback/BaseBuyback.sol#107)\n\tState variables written after the call(s):\n\t- universalRouter = _router (contracts/buyback/BaseBuyback.sol#110)\n\tBaseBuyback.universalRouter (contracts/buyback/BaseBuyback.sol#30) can be used in cross function reentrancies:\n\t- BaseBuyback._setUniswapUniversalRouter(address) (contracts/buyback/BaseBuyback.sol#104-113)\n\t- BaseBuyback.universalRouter (contracts/buyback/BaseBuyback.sol#30)\n", "markdown": "Reentrancy in [BaseBuyback._setUniswapUniversalRouter(address)](contracts/buyback/BaseBuyback.sol#L104-L113):\n\tExternal calls:\n\t- [IERC20(oToken).approve(universalRouter,0)](contracts/buyback/BaseBuyback.sol#L107)\n\tState variables written after the call(s):\n\t- [universalRouter = _router](contracts/buyback/BaseBuyback.sol#L110)\n\t[BaseBuyback.universalRouter](contracts/buyback/BaseBuyback.sol#L30) can be used in cross function reentrancies:\n\t- [BaseBuyback._setUniswapUniversalRouter(address)](contracts/buyback/BaseBuyback.sol#L104-L113)\n\t- [BaseBuyback.universalRouter](contracts/buyback/BaseBuyback.sol#L30)\n", "first_markdown_element": "contracts/buyback/BaseBuyback.sol#L104-L113", "id": "bccc9acb8443b22ca1e841ba889cf8442ee7ce0439cfee68a23217bad2ff1e26", "check": "reentrancy-no-eth", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_setUniswapUniversalRouter", "source_mapping": {"start": 3522, "length": 320, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.sol", "is_dependency": false, "lines": [104, 105, 106, 107, 108, 109, 110, 111, 112, 113], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseBuyback", "source_mapping": {"start": 546, "length": 7983, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.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, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267], "starting_column": 1, "ending_column": 2}}, "signature": "_setUniswapUniversalRouter(address)"}}, {"type": "node", "name": "IERC20(oToken).approve(universalRouter,0)", "source_mapping": {"start": 3693, "length": 42, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.sol", "is_dependency": false, "lines": [107], "starting_column": 13, "ending_column": 55}, "type_specific_fields": {"parent": {"type": "function", "name": "_setUniswapUniversalRouter", "source_mapping": {"start": 3522, "length": 320, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.sol", "is_dependency": false, "lines": [104, 105, 106, 107, 108, 109, 110, 111, 112, 113], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseBuyback", "source_mapping": {"start": 546, "length": 7983, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.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, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267], "starting_column": 1, "ending_column": 2}}, "signature": "_setUniswapUniversalRouter(address)"}}}}], "description": "BaseBuyback._setUniswapUniversalRouter(address) (contracts/buyback/BaseBuyback.sol#104-113) ignores return value by IERC20(oToken).approve(universalRouter,0) (contracts/buyback/BaseBuyback.sol#107)\n", "markdown": "[BaseBuyback._setUniswapUniversalRouter(address)](contracts/buyback/BaseBuyback.sol#L104-L113) ignores return value by [IERC20(oToken).approve(universalRouter,0)](contracts/buyback/BaseBuyback.sol#L107)\n", "first_markdown_element": "contracts/buyback/BaseBuyback.sol#L104-L113", "id": "0e6b4f58400d0468104b070528bea337ad354c8f15ffe9d80e1e192744d443fa", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_setUniswapUniversalRouter", "source_mapping": {"start": 3480, "length": 320, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.sol", "is_dependency": false, "lines": [103, 104, 105, 106, 107, 108, 109, 110, 111, 112], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseBuyback", "source_mapping": {"start": 546, "length": 7941, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.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, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266], "starting_column": 1, "ending_column": 2}}, "signature": "_setUniswapUniversalRouter(address)"}}, {"type": "node", "name": "IERC20(oToken).approve(universalRouter,0)", "source_mapping": {"start": 3651, "length": 42, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.sol", "is_dependency": false, "lines": [106], "starting_column": 13, "ending_column": 55}, "type_specific_fields": {"parent": {"type": "function", "name": "_setUniswapUniversalRouter", "source_mapping": {"start": 3480, "length": 320, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.sol", "is_dependency": false, "lines": [103, 104, 105, 106, 107, 108, 109, 110, 111, 112], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseBuyback", "source_mapping": {"start": 546, "length": 7941, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.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, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266], "starting_column": 1, "ending_column": 2}}, "signature": "_setUniswapUniversalRouter(address)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "universalRouter = _router", "source_mapping": {"start": 3714, "length": 25, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.sol", "is_dependency": false, "lines": [109], "starting_column": 9, "ending_column": 34}, "type_specific_fields": {"parent": {"type": "function", "name": "_setUniswapUniversalRouter", "source_mapping": {"start": 3480, "length": 320, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.sol", "is_dependency": false, "lines": [103, 104, 105, 106, 107, 108, 109, 110, 111, 112], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseBuyback", "source_mapping": {"start": 546, "length": 7941, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.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, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266], "starting_column": 1, "ending_column": 2}}, "signature": "_setUniswapUniversalRouter(address)"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "universalRouter"}}], "description": "Reentrancy in BaseBuyback._setUniswapUniversalRouter(address) (contracts/buyback/BaseBuyback.sol#103-112):\n\tExternal calls:\n\t- IERC20(oToken).approve(universalRouter,0) (contracts/buyback/BaseBuyback.sol#106)\n\tState variables written after the call(s):\n\t- universalRouter = _router (contracts/buyback/BaseBuyback.sol#109)\n\tBaseBuyback.universalRouter (contracts/buyback/BaseBuyback.sol#30) can be used in cross function reentrancies:\n\t- BaseBuyback._setUniswapUniversalRouter(address) (contracts/buyback/BaseBuyback.sol#103-112)\n\t- BaseBuyback.universalRouter (contracts/buyback/BaseBuyback.sol#30)\n", "markdown": "Reentrancy in [BaseBuyback._setUniswapUniversalRouter(address)](contracts/buyback/BaseBuyback.sol#L103-L112):\n\tExternal calls:\n\t- [IERC20(oToken).approve(universalRouter,0)](contracts/buyback/BaseBuyback.sol#L106)\n\tState variables written after the call(s):\n\t- [universalRouter = _router](contracts/buyback/BaseBuyback.sol#L109)\n\t[BaseBuyback.universalRouter](contracts/buyback/BaseBuyback.sol#L30) can be used in cross function reentrancies:\n\t- [BaseBuyback._setUniswapUniversalRouter(address)](contracts/buyback/BaseBuyback.sol#L103-L112)\n\t- [BaseBuyback.universalRouter](contracts/buyback/BaseBuyback.sol#L30)\n", "first_markdown_element": "contracts/buyback/BaseBuyback.sol#L103-L112", "id": "4e2c66a5727d9f9cf6215dd14b959bcd5593727f47bde61f3fe06848cac85c35", "check": "reentrancy-no-eth", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_setUniswapUniversalRouter", "source_mapping": {"start": 3480, "length": 320, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.sol", "is_dependency": false, "lines": [103, 104, 105, 106, 107, 108, 109, 110, 111, 112], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseBuyback", "source_mapping": {"start": 546, "length": 7941, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.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, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266], "starting_column": 1, "ending_column": 2}}, "signature": "_setUniswapUniversalRouter(address)"}}, {"type": "node", "name": "IERC20(oToken).approve(universalRouter,0)", "source_mapping": {"start": 3651, "length": 42, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.sol", "is_dependency": false, "lines": [106], "starting_column": 13, "ending_column": 55}, "type_specific_fields": {"parent": {"type": "function", "name": "_setUniswapUniversalRouter", "source_mapping": {"start": 3480, "length": 320, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.sol", "is_dependency": false, "lines": [103, 104, 105, 106, 107, 108, 109, 110, 111, 112], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseBuyback", "source_mapping": {"start": 546, "length": 7941, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.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, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266], "starting_column": 1, "ending_column": 2}}, "signature": "_setUniswapUniversalRouter(address)"}}}}], "description": "BaseBuyback._setUniswapUniversalRouter(address) (contracts/buyback/BaseBuyback.sol#103-112) ignores return value by IERC20(oToken).approve(universalRouter,0) (contracts/buyback/BaseBuyback.sol#106)\n", "markdown": "[BaseBuyback._setUniswapUniversalRouter(address)](contracts/buyback/BaseBuyback.sol#L103-L112) ignores return value by [IERC20(oToken).approve(universalRouter,0)](contracts/buyback/BaseBuyback.sol#L106)\n", "first_markdown_element": "contracts/buyback/BaseBuyback.sol#L103-L112", "id": "7a20874f6f861f199337da5b19ec4694217da101724d2cd37244d03f288e947f", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_setUniswapUniversalRouter", "source_mapping": {"start": 3767, "length": 372, "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.sol", "is_dependency": false, "lines": [117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Buyback", "source_mapping": {"start": 546, "length": 11684, "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.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, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374], "starting_column": 1, "ending_column": 2}}, "signature": "_setUniswapUniversalRouter(address)"}}, {"type": "node", "name": "IERC20(ousd).approve(universalRouter,0)", "source_mapping": {"start": 3938, "length": 40, "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.sol", "is_dependency": false, "lines": [120], "starting_column": 13, "ending_column": 53}, "type_specific_fields": {"parent": {"type": "function", "name": "_setUniswapUniversalRouter", "source_mapping": {"start": 3767, "length": 372, "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.sol", "is_dependency": false, "lines": [117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Buyback", "source_mapping": {"start": 546, "length": 11684, "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.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, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374], "starting_column": 1, "ending_column": 2}}, "signature": "_setUniswapUniversalRouter(address)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "IERC20(oeth).approve(universalRouter,0)", "source_mapping": {"start": 3992, "length": 40, "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.sol", "is_dependency": false, "lines": [121], "starting_column": 13, "ending_column": 53}, "type_specific_fields": {"parent": {"type": "function", "name": "_setUniswapUniversalRouter", "source_mapping": {"start": 3767, "length": 372, "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.sol", "is_dependency": false, "lines": [117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Buyback", "source_mapping": {"start": 546, "length": 11684, "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.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, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374], "starting_column": 1, "ending_column": 2}}, "signature": "_setUniswapUniversalRouter(address)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "universalRouter = _router", "source_mapping": {"start": 4053, "length": 25, "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.sol", "is_dependency": false, "lines": [124], "starting_column": 9, "ending_column": 34}, "type_specific_fields": {"parent": {"type": "function", "name": "_setUniswapUniversalRouter", "source_mapping": {"start": 3767, "length": 372, "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.sol", "is_dependency": false, "lines": [117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Buyback", "source_mapping": {"start": 546, "length": 11684, "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.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, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374], "starting_column": 1, "ending_column": 2}}, "signature": "_setUniswapUniversalRouter(address)"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "universalRouter"}}], "description": "Reentrancy in Buyback._setUniswapUniversalRouter(address) (contracts/buyback/Buyback.sol#117-127):\n\tExternal calls:\n\t- IERC20(ousd).approve(universalRouter,0) (contracts/buyback/Buyback.sol#120)\n\t- IERC20(oeth).approve(universalRouter,0) (contracts/buyback/Buyback.sol#121)\n\tState variables written after the call(s):\n\t- universalRouter = _router (contracts/buyback/Buyback.sol#124)\n\tBuyback.universalRouter (contracts/buyback/Buyback.sol#37) can be used in cross function reentrancies:\n\t- Buyback._setUniswapUniversalRouter(address) (contracts/buyback/Buyback.sol#117-127)\n\t- Buyback.universalRouter (contracts/buyback/Buyback.sol#37)\n", "markdown": "Reentrancy in [Buyback._setUniswapUniversalRouter(address)](contracts/buyback/Buyback.sol#L117-L127):\n\tExternal calls:\n\t- [IERC20(ousd).approve(universalRouter,0)](contracts/buyback/Buyback.sol#L120)\n\t- [IERC20(oeth).approve(universalRouter,0)](contracts/buyback/Buyback.sol#L121)\n\tState variables written after the call(s):\n\t- [universalRouter = _router](contracts/buyback/Buyback.sol#L124)\n\t[Buyback.universalRouter](contracts/buyback/Buyback.sol#L37) can be used in cross function reentrancies:\n\t- [Buyback._setUniswapUniversalRouter(address)](contracts/buyback/Buyback.sol#L117-L127)\n\t- [Buyback.universalRouter](contracts/buyback/Buyback.sol#L37)\n", "first_markdown_element": "contracts/buyback/Buyback.sol#L117-L127", "id": "b932a6b36d3ab0a8e79857c0b0c725c46b791263a4f87c7e06f1c76c3179f6f6", "check": "reentrancy-no-eth", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_setUniswapUniversalRouter", "source_mapping": {"start": 3767, "length": 372, "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.sol", "is_dependency": false, "lines": [117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Buyback", "source_mapping": {"start": 546, "length": 11684, "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.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, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374], "starting_column": 1, "ending_column": 2}}, "signature": "_setUniswapUniversalRouter(address)"}}, {"type": "node", "name": "IERC20(ousd).approve(universalRouter,0)", "source_mapping": {"start": 3938, "length": 40, "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.sol", "is_dependency": false, "lines": [120], "starting_column": 13, "ending_column": 53}, "type_specific_fields": {"parent": {"type": "function", "name": "_setUniswapUniversalRouter", "source_mapping": {"start": 3767, "length": 372, "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.sol", "is_dependency": false, "lines": [117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Buyback", "source_mapping": {"start": 546, "length": 11684, "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.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, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374], "starting_column": 1, "ending_column": 2}}, "signature": "_setUniswapUniversalRouter(address)"}}}}], "description": "Buyback._setUniswapUniversalRouter(address) (contracts/buyback/Buyback.sol#117-127) ignores return value by IERC20(ousd).approve(universalRouter,0) (contracts/buyback/Buyback.sol#120)\n", "markdown": "[Buyback._setUniswapUniversalRouter(address)](contracts/buyback/Buyback.sol#L117-L127) ignores return value by [IERC20(ousd).approve(universalRouter,0)](contracts/buyback/Buyback.sol#L120)\n", "first_markdown_element": "contracts/buyback/Buyback.sol#L117-L127", "id": "7daab5d45656d0cecde144179adfd717608cba4dd9fb6b953f5f14d96c146dd1", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_setUniswapUniversalRouter", "source_mapping": {"start": 3767, "length": 372, "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.sol", "is_dependency": false, "lines": [117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Buyback", "source_mapping": {"start": 546, "length": 11684, "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.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, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374], "starting_column": 1, "ending_column": 2}}, "signature": "_setUniswapUniversalRouter(address)"}}, {"type": "node", "name": "IERC20(oeth).approve(universalRouter,0)", "source_mapping": {"start": 3992, "length": 40, "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.sol", "is_dependency": false, "lines": [121], "starting_column": 13, "ending_column": 53}, "type_specific_fields": {"parent": {"type": "function", "name": "_setUniswapUniversalRouter", "source_mapping": {"start": 3767, "length": 372, "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.sol", "is_dependency": false, "lines": [117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Buyback", "source_mapping": {"start": 546, "length": 11684, "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.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, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374], "starting_column": 1, "ending_column": 2}}, "signature": "_setUniswapUniversalRouter(address)"}}}}], "description": "Buyback._setUniswapUniversalRouter(address) (contracts/buyback/Buyback.sol#117-127) ignores return value by IERC20(oeth).approve(universalRouter,0) (contracts/buyback/Buyback.sol#121)\n", "markdown": "[Buyback._setUniswapUniversalRouter(address)](contracts/buyback/Buyback.sol#L117-L127) ignores return value by [IERC20(oeth).approve(universalRouter,0)](contracts/buyback/Buyback.sol#L121)\n", "first_markdown_element": "contracts/buyback/Buyback.sol#L117-L127", "id": "f93fa4e05fd64289e99e04fe22132cd474fc8db7419d99a3e6a1adfa993b2193", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_deposit", "source_mapping": {"start": 6928, "length": 2553, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.sol", "is_dependency": false, "lines": [178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ConvexEthMetaStrategy", "source_mapping": {"start": 769, "length": 22879, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622], "starting_column": 1, "ending_column": 2}}, "signature": "_deposit(address,uint256)"}}, {"type": "node", "name": "lpDeposited = curvePool.add_liquidity{value: _wethAmount}(_amounts,minMintAmount)", "source_mapping": {"start": 9006, "length": 126, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.sol", "is_dependency": false, "lines": [227, 228, 229, 230], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "_deposit", "source_mapping": {"start": 6928, "length": 2553, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.sol", "is_dependency": false, "lines": [178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ConvexEthMetaStrategy", "source_mapping": {"start": 769, "length": 22879, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622], "starting_column": 1, "ending_column": 2}}, "signature": "_deposit(address,uint256)"}}}}], "description": "ConvexEthMetaStrategy._deposit(address,uint256) (contracts/strategies/ConvexEthMetaStrategy.sol#178-241) sends eth to arbitrary user\n\tDangerous calls:\n\t- lpDeposited = curvePool.add_liquidity{value: _wethAmount}(_amounts,minMintAmount) (contracts/strategies/ConvexEthMetaStrategy.sol#227-230)\n", "markdown": "[ConvexEthMetaStrategy._deposit(address,uint256)](contracts/strategies/ConvexEthMetaStrategy.sol#L178-L241) sends eth to arbitrary user\n\tDangerous calls:\n\t- [lpDeposited = curvePool.add_liquidity{value: _wethAmount}(_amounts,minMintAmount)](contracts/strategies/ConvexEthMetaStrategy.sol#L227-L230)\n", "first_markdown_element": "contracts/strategies/ConvexEthMetaStrategy.sol#L178-L241", "id": "75ef502a2f513f385a2c424812fba1371a2945d29db42fd46795b68a3fb7ec9d", "check": "arbitrary-send-eth", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "price", "source_mapping": {"start": 1593, "length": 894, "filename_relative": "contracts/oracle/OracleRouter.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/oracle/OracleRouter.sol", "filename_short": "contracts/oracle/OracleRouter.sol", "is_dependency": false, "lines": [41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OracleRouterBase", "source_mapping": {"start": 429, "length": 3340, "filename_relative": "contracts/oracle/OracleRouter.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/oracle/OracleRouter.sol", "filename_short": "contracts/oracle/OracleRouter.sol", "is_dependency": false, "lines": [11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100], "starting_column": 1, "ending_column": 2}}, "signature": "price(address)"}}, {"type": "node", "name": "(_iprice,updatedAt) = AggregatorV3Interface(_feed).latestRoundData()", "source_mapping": {"start": 1931, "length": 103, "filename_relative": "contracts/oracle/OracleRouter.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/oracle/OracleRouter.sol", "filename_short": "contracts/oracle/OracleRouter.sol", "is_dependency": false, "lines": [52, 53], "starting_column": 9, "ending_column": 31}, "type_specific_fields": {"parent": {"type": "function", "name": "price", "source_mapping": {"start": 1593, "length": 894, "filename_relative": "contracts/oracle/OracleRouter.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/oracle/OracleRouter.sol", "filename_short": "contracts/oracle/OracleRouter.sol", "is_dependency": false, "lines": [41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OracleRouterBase", "source_mapping": {"start": 429, "length": 3340, "filename_relative": "contracts/oracle/OracleRouter.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/oracle/OracleRouter.sol", "filename_short": "contracts/oracle/OracleRouter.sol", "is_dependency": false, "lines": [11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100], "starting_column": 1, "ending_column": 2}}, "signature": "price(address)"}}}}], "description": "OracleRouterBase.price(address) (contracts/oracle/OracleRouter.sol#41-68) ignores return value by (_iprice,updatedAt) = AggregatorV3Interface(_feed).latestRoundData() (contracts/oracle/OracleRouter.sol#52-53)\n", "markdown": "[OracleRouterBase.price(address)](contracts/oracle/OracleRouter.sol#L41-L68) ignores return value by [(_iprice,updatedAt) = AggregatorV3Interface(_feed).latestRoundData()](contracts/oracle/OracleRouter.sol#L52-L53)\n", "first_markdown_element": "contracts/oracle/OracleRouter.sol#L41-L68", "id": "6209af3b6f21e22017468756cdffc0905ff6a469cffe32a283d178692f200e96", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "price", "source_mapping": {"start": 7130, "length": 700, "filename_relative": "contracts/oracle/OracleRouter.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/oracle/OracleRouter.sol", "filename_short": "contracts/oracle/OracleRouter.sol", "is_dependency": false, "lines": [172, 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": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OETHOracleRouter", "source_mapping": {"start": 6730, "length": 3600, "filename_relative": "contracts/oracle/OracleRouter.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/oracle/OracleRouter.sol", "filename_short": "contracts/oracle/OracleRouter.sol", "is_dependency": false, "lines": [162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249], "starting_column": 1, "ending_column": 2}}, "signature": "price(address)"}}, {"type": "node", "name": "(_iprice,updatedAt) = AggregatorV3Interface(_feed).latestRoundData()", "source_mapping": {"start": 7465, "length": 103, "filename_relative": "contracts/oracle/OracleRouter.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/oracle/OracleRouter.sol", "filename_short": "contracts/oracle/OracleRouter.sol", "is_dependency": false, "lines": [185, 186], "starting_column": 9, "ending_column": 31}, "type_specific_fields": {"parent": {"type": "function", "name": "price", "source_mapping": {"start": 7130, "length": 700, "filename_relative": "contracts/oracle/OracleRouter.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/oracle/OracleRouter.sol", "filename_short": "contracts/oracle/OracleRouter.sol", "is_dependency": false, "lines": [172, 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": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OETHOracleRouter", "source_mapping": {"start": 6730, "length": 3600, "filename_relative": "contracts/oracle/OracleRouter.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/oracle/OracleRouter.sol", "filename_short": "contracts/oracle/OracleRouter.sol", "is_dependency": false, "lines": [162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249], "starting_column": 1, "ending_column": 2}}, "signature": "price(address)"}}}}], "description": "OETHOracleRouter.price(address) (contracts/oracle/OracleRouter.sol#172-196) ignores return value by (_iprice,updatedAt) = AggregatorV3Interface(_feed).latestRoundData() (contracts/oracle/OracleRouter.sol#185-186)\n", "markdown": "[OETHOracleRouter.price(address)](contracts/oracle/OracleRouter.sol#L172-L196) ignores return value by [(_iprice,updatedAt) = AggregatorV3Interface(_feed).latestRoundData()](contracts/oracle/OracleRouter.sol#L185-L186)\n", "first_markdown_element": "contracts/oracle/OracleRouter.sol#L172-L196", "id": "b3a9b1629bc0c0c5f2edbcecdd5b6cc290654923a39479541a280c9b6a7f477d", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_checkBalance", "source_mapping": {"start": 6528, "length": 369, "filename_relative": "contracts/strategies/MorphoAaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoAaveStrategy.sol", "filename_short": "contracts/strategies/MorphoAaveStrategy.sol", "is_dependency": false, "lines": [202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MorphoAaveStrategy", "source_mapping": {"start": 563, "length": 7125, "filename_relative": "contracts/strategies/MorphoAaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoAaveStrategy.sol", "filename_short": "contracts/strategies/MorphoAaveStrategy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240], "starting_column": 1, "ending_column": 2}}, "signature": "_checkBalance(address)"}}, {"type": "node", "name": "(None,None,balance) = ILens(LENS).getCurrentSupplyBalanceInOf(pToken,address(this))", "source_mapping": {"start": 6778, "length": 112, "filename_relative": "contracts/strategies/MorphoAaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoAaveStrategy.sol", "filename_short": "contracts/strategies/MorphoAaveStrategy.sol", "is_dependency": false, "lines": [210, 211, 212, 213], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "_checkBalance", "source_mapping": {"start": 6528, "length": 369, "filename_relative": "contracts/strategies/MorphoAaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoAaveStrategy.sol", "filename_short": "contracts/strategies/MorphoAaveStrategy.sol", "is_dependency": false, "lines": [202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MorphoAaveStrategy", "source_mapping": {"start": 563, "length": 7125, "filename_relative": "contracts/strategies/MorphoAaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoAaveStrategy.sol", "filename_short": "contracts/strategies/MorphoAaveStrategy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240], "starting_column": 1, "ending_column": 2}}, "signature": "_checkBalance(address)"}}}}], "description": "MorphoAaveStrategy._checkBalance(address) (contracts/strategies/MorphoAaveStrategy.sol#202-214) ignores return value by (None,None,balance) = ILens(LENS).getCurrentSupplyBalanceInOf(pToken,address(this)) (contracts/strategies/MorphoAaveStrategy.sol#210-213)\n", "markdown": "[MorphoAaveStrategy._checkBalance(address)](contracts/strategies/MorphoAaveStrategy.sol#L202-L214) ignores return value by [(None,None,balance) = ILens(LENS).getCurrentSupplyBalanceInOf(pToken,address(this))](contracts/strategies/MorphoAaveStrategy.sol#L210-L213)\n", "first_markdown_element": "contracts/strategies/MorphoAaveStrategy.sol#L202-L214", "id": "4cf7355ba40b814d1901bb2d39a6f82a6123393dfb73c4b4ffde2185135ce437", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_checkBalance", "source_mapping": {"start": 8191, "length": 360, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MorphoCompoundStrategy", "source_mapping": {"start": 608, "length": 7945, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251], "starting_column": 1, "ending_column": 2}}, "signature": "_checkBalance(address)"}}, {"type": "node", "name": "(None,None,balance) = ILens(LENS).getCurrentSupplyBalanceInOf(pToken,address(this))", "source_mapping": {"start": 8432, "length": 112, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [246, 247, 248, 249], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "_checkBalance", "source_mapping": {"start": 8191, "length": 360, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MorphoCompoundStrategy", "source_mapping": {"start": 608, "length": 7945, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251], "starting_column": 1, "ending_column": 2}}, "signature": "_checkBalance(address)"}}}}], "description": "MorphoCompoundStrategy._checkBalance(address) (contracts/strategies/MorphoCompoundStrategy.sol#238-250) ignores return value by (None,None,balance) = ILens(LENS).getCurrentSupplyBalanceInOf(pToken,address(this)) (contracts/strategies/MorphoCompoundStrategy.sol#246-249)\n", "markdown": "[MorphoCompoundStrategy._checkBalance(address)](contracts/strategies/MorphoCompoundStrategy.sol#L238-L250) ignores return value by [(None,None,balance) = ILens(LENS).getCurrentSupplyBalanceInOf(pToken,address(this))](contracts/strategies/MorphoCompoundStrategy.sol#L246-L249)\n", "first_markdown_element": "contracts/strategies/MorphoCompoundStrategy.sol#L238-L250", "id": "aae8756dd4310146d8bb051edd3c3ab77f1a8d97181e0a98177aedc43a56e23d", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_getPoolAssets", "source_mapping": {"start": 12543, "length": 148, "filename_relative": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_short": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "is_dependency": false, "lines": [304, 305, 306], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseBalancerStrategy", "source_mapping": {"start": 798, "length": 17926, "filename_relative": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_short": "contracts/strategies/balancer/BaseBalancerStrategy.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, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 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], "starting_column": 1, "ending_column": 2}}, "signature": "_getPoolAssets()"}}, {"type": "node", "name": "(assets,None,None) = balancerVault.getPoolTokens(balancerPoolId)", "source_mapping": {"start": 12626, "length": 58, "filename_relative": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_short": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "is_dependency": false, "lines": [305], "starting_column": 9, "ending_column": 67}, "type_specific_fields": {"parent": {"type": "function", "name": "_getPoolAssets", "source_mapping": {"start": 12543, "length": 148, "filename_relative": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_short": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "is_dependency": false, "lines": [304, 305, 306], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseBalancerStrategy", "source_mapping": {"start": 798, "length": 17926, "filename_relative": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_short": "contracts/strategies/balancer/BaseBalancerStrategy.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, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 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], "starting_column": 1, "ending_column": 2}}, "signature": "_getPoolAssets()"}}}}], "description": "BaseBalancerStrategy._getPoolAssets() (contracts/strategies/balancer/BaseBalancerStrategy.sol#304-306) ignores return value by (assets,None,None) = balancerVault.getPoolTokens(balancerPoolId) (contracts/strategies/balancer/BaseBalancerStrategy.sol#305)\n", "markdown": "[BaseBalancerStrategy._getPoolAssets()](contracts/strategies/balancer/BaseBalancerStrategy.sol#L304-L306) ignores return value by [(assets,None,None) = balancerVault.getPoolTokens(balancerPoolId)](contracts/strategies/balancer/BaseBalancerStrategy.sol#L305)\n", "first_markdown_element": "contracts/strategies/balancer/BaseBalancerStrategy.sol#L304-L306", "id": "21c54e3d1ca39fd24d0f103cf5e24127d7744808ffa3864cfb51a5f86248ff5f", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_deposit", "source_mapping": {"start": 3095, "length": 3242, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BalancerMetaPoolStrategy", "source_mapping": {"start": 708, "length": 21715, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "_deposit(address[],uint256[])"}}, {"type": "node", "name": "(tokens) = balancerVault.getPoolTokens(balancerPoolId)", "source_mapping": {"start": 3352, "length": 96, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [92, 93, 94], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "_deposit", "source_mapping": {"start": 3095, "length": 3242, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BalancerMetaPoolStrategy", "source_mapping": {"start": 708, "length": 21715, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "_deposit(address[],uint256[])"}}}}], "description": "BalancerMetaPoolStrategy._deposit(address[],uint256[]) (contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#83-173) ignores return value by (tokens) = balancerVault.getPoolTokens(balancerPoolId) (contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#92-94)\n", "markdown": "[BalancerMetaPoolStrategy._deposit(address[],uint256[])](contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L83-L173) ignores return value by [(tokens) = balancerVault.getPoolTokens(balancerPoolId)](contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L92-L94)\n", "first_markdown_element": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L83-L173", "id": "c6f964aee4da3934e983a28493b99b37bfadfca9bd8718a64f3e4bc82580b751", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_withdraw", "source_mapping": {"start": 8546, "length": 6981, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BalancerMetaPoolStrategy", "source_mapping": {"start": 708, "length": 21715, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "_withdraw(address,address[],uint256[])"}}, {"type": "node", "name": "(tokens) = balancerVault.getPoolTokens(balancerPoolId)", "source_mapping": {"start": 9196, "length": 96, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [240, 241, 242], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "_withdraw", "source_mapping": {"start": 8546, "length": 6981, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BalancerMetaPoolStrategy", "source_mapping": {"start": 708, "length": 21715, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "_withdraw(address,address[],uint256[])"}}}}], "description": "BalancerMetaPoolStrategy._withdraw(address,address[],uint256[]) (contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#220-384) ignores return value by (tokens) = balancerVault.getPoolTokens(balancerPoolId) (contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#240-242)\n", "markdown": "[BalancerMetaPoolStrategy._withdraw(address,address[],uint256[])](contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L220-L384) ignores return value by [(tokens) = balancerVault.getPoolTokens(balancerPoolId)](contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L240-L242)\n", "first_markdown_element": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L220-L384", "id": "b6dfd0234a00fe7ec86440a81eff1c382ad27a77a030e172fa8ed3c20e62835f", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "withdrawAll", "source_mapping": {"start": 15746, "length": 3500, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [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], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BalancerMetaPoolStrategy", "source_mapping": {"start": 708, "length": 21715, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "withdrawAll()"}}, {"type": "node", "name": "(tokens) = balancerVault.getPoolTokens(balancerPoolId)", "source_mapping": {"start": 16219, "length": 96, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [401, 402, 403], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "withdrawAll", "source_mapping": {"start": 15746, "length": 3500, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [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], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BalancerMetaPoolStrategy", "source_mapping": {"start": 708, "length": 21715, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "withdrawAll()"}}}}], "description": "BalancerMetaPoolStrategy.withdrawAll() (contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#392-473) ignores return value by (tokens) = balancerVault.getPoolTokens(balancerPoolId) (contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#401-403)\n", "markdown": "[BalancerMetaPoolStrategy.withdrawAll()](contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L392-L473) ignores return value by [(tokens) = balancerVault.getPoolTokens(balancerPoolId)](contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L401-L403)\n", "first_markdown_element": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L392-L473", "id": "a7365da818ffe46e2f970cfb2adeba732b39671fb32ad6fc01b30eb86796d70a", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_getRateProviderRate", "source_mapping": {"start": 21512, "length": 909, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BalancerMetaPoolStrategy", "source_mapping": {"start": 708, "length": 21715, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "_getRateProviderRate(address)"}}, {"type": "node", "name": "(tokens) = balancerVault.getPoolTokens(balancerPoolId)", "source_mapping": {"start": 21778, "length": 96, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [542, 543, 544], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "_getRateProviderRate", "source_mapping": {"start": 21512, "length": 909, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BalancerMetaPoolStrategy", "source_mapping": {"start": 708, "length": 21715, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "_getRateProviderRate(address)"}}}}], "description": "BalancerMetaPoolStrategy._getRateProviderRate(address) (contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#534-560) ignores return value by (tokens) = balancerVault.getPoolTokens(balancerPoolId) (contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#542-544)\n", "markdown": "[BalancerMetaPoolStrategy._getRateProviderRate(address)](contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L534-L560) ignores return value by [(tokens) = balancerVault.getPoolTokens(balancerPoolId)](contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L542-L544)\n", "first_markdown_element": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L534-L560", "id": "36ed2fe9e73d5e1d882a0bd06ef1472869f8bdb8fe801c9015e95738edb9be60", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "swap", "source_mapping": {"start": 1921, "length": 2324, "filename_relative": "contracts/swapper/Swapper1InchV5.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/swapper/Swapper1InchV5.sol", "filename_short": "contracts/swapper/Swapper1InchV5.sol", "is_dependency": false, "lines": [40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Swapper1InchV5", "source_mapping": {"start": 756, "length": 3993, "filename_relative": "contracts/swapper/Swapper1InchV5.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/swapper/Swapper1InchV5.sol", "filename_short": "contracts/swapper/Swapper1InchV5.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, 99, 100, 101, 102, 103, 104, 105, 106, 107], "starting_column": 1, "ending_column": 2}}, "signature": "swap(address,address,uint256,uint256,bytes)"}}, {"type": "node", "name": "(toAssetAmount,None) = IOneInchRouter(SWAP_ROUTER).swap(IAggregationExecutor(executer),swapDesc,,executerData)", "source_mapping": {"start": 3028, "length": 193, "filename_relative": "contracts/swapper/Swapper1InchV5.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/swapper/Swapper1InchV5.sol", "filename_short": "contracts/swapper/Swapper1InchV5.sol", "is_dependency": false, "lines": [65, 66, 67, 68, 69, 70], "starting_column": 13, "ending_column": 14}, "type_specific_fields": {"parent": {"type": "function", "name": "swap", "source_mapping": {"start": 1921, "length": 2324, "filename_relative": "contracts/swapper/Swapper1InchV5.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/swapper/Swapper1InchV5.sol", "filename_short": "contracts/swapper/Swapper1InchV5.sol", "is_dependency": false, "lines": [40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Swapper1InchV5", "source_mapping": {"start": 756, "length": 3993, "filename_relative": "contracts/swapper/Swapper1InchV5.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/swapper/Swapper1InchV5.sol", "filename_short": "contracts/swapper/Swapper1InchV5.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, 99, 100, 101, 102, 103, 104, 105, 106, 107], "starting_column": 1, "ending_column": 2}}, "signature": "swap(address,address,uint256,uint256,bytes)"}}}}], "description": "Swapper1InchV5.swap(address,address,uint256,uint256,bytes) (contracts/swapper/Swapper1InchV5.sol#40-94) ignores return value by (toAssetAmount,None) = IOneInchRouter(SWAP_ROUTER).swap(IAggregationExecutor(executer),swapDesc,,executerData) (contracts/swapper/Swapper1InchV5.sol#65-70)\n", "markdown": "[Swapper1InchV5.swap(address,address,uint256,uint256,bytes)](contracts/swapper/Swapper1InchV5.sol#L40-L94) ignores return value by [(toAssetAmount,None) = IOneInchRouter(SWAP_ROUTER).swap(IAggregationExecutor(executer),swapDesc,,executerData)](contracts/swapper/Swapper1InchV5.sol#L65-L70)\n", "first_markdown_element": "contracts/swapper/Swapper1InchV5.sol#L40-L94", "id": "a20be31d0dee33859aaf12dbf3a9efdddb933083e9aaec46c76173e1e0576290", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "onlyUnlockedAdjuster", "source_mapping": {"start": 5015, "length": 184, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [159, 160, 161, 162, 163], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompensationClaims", "source_mapping": {"start": 1527, "length": 3674, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164], "starting_column": 1, "ending_column": 2}}, "signature": "onlyUnlockedAdjuster()"}}, {"type": "node", "name": "require(bool,string)(isAdjusterLocked == false,Adjuster must be unlocked)", "source_mapping": {"start": 5057, "length": 63, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [160], "starting_column": 9, "ending_column": 72}, "type_specific_fields": {"parent": {"type": "function", "name": "onlyUnlockedAdjuster", "source_mapping": {"start": 5015, "length": 184, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [159, 160, 161, 162, 163], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompensationClaims", "source_mapping": {"start": 1527, "length": 3674, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164], "starting_column": 1, "ending_column": 2}}, "signature": "onlyUnlockedAdjuster()"}}}}], "description": "CompensationClaims.onlyUnlockedAdjuster() (contracts/compensation/CompensationClaims.sol#159-163) compares to a boolean constant:\n\t-require(bool,string)(isAdjusterLocked == false,Adjuster must be unlocked) (contracts/compensation/CompensationClaims.sol#160)\n", "markdown": "[CompensationClaims.onlyUnlockedAdjuster()](contracts/compensation/CompensationClaims.sol#L159-L163) compares to a boolean constant:\n\t-[require(bool,string)(isAdjusterLocked == false,Adjuster must be unlocked)](contracts/compensation/CompensationClaims.sol#L160)\n", "first_markdown_element": "contracts/compensation/CompensationClaims.sol#L159-L163", "id": "c674328ac540cee46322710f4f2b564022817568b3de72c2f333499667897fb6", "check": "boolean-equal", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "setClaims", "source_mapping": {"start": 2859, "length": 679, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompensationClaims", "source_mapping": {"start": 1527, "length": 3674, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164], "starting_column": 1, "ending_column": 2}}, "signature": "setClaims(address[],uint256[])"}}, {"type": "node", "name": "totalClaims = totalClaims.add(newAmount).sub(oldAmount)", "source_mapping": {"start": 3417, "length": 55, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [100], "starting_column": 13, "ending_column": 68}, "type_specific_fields": {"parent": {"type": "function", "name": "setClaims", "source_mapping": {"start": 2859, "length": 679, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompensationClaims", "source_mapping": {"start": 1527, "length": 3674, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164], "starting_column": 1, "ending_column": 2}}, "signature": "setClaims(address[],uint256[])"}}}}], "description": "CompensationClaims.setClaims(address[],uint256[]) (contracts/compensation/CompensationClaims.sol#86-103) has costly operations inside a loop:\n\t- totalClaims = totalClaims.add(newAmount).sub(oldAmount) (contracts/compensation/CompensationClaims.sol#100)\n", "markdown": "[CompensationClaims.setClaims(address[],uint256[])](contracts/compensation/CompensationClaims.sol#L86-L103) has costly operations inside a loop:\n\t- [totalClaims = totalClaims.add(newAmount).sub(oldAmount)](contracts/compensation/CompensationClaims.sol#L100)\n", "first_markdown_element": "contracts/compensation/CompensationClaims.sol#L86-L103", "id": "ead4689fefe47be38b040394ae6995dc07b10079222841e5c24d8b378ff13658", "check": "costly-loop", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_fromPoolAsset", "source_mapping": {"start": 15639, "length": 615, "filename_relative": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_short": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "is_dependency": false, "lines": [400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseBalancerStrategy", "source_mapping": {"start": 798, "length": 17926, "filename_relative": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_short": "contracts/strategies/balancer/BaseBalancerStrategy.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, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 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], "starting_column": 1, "ending_column": 2}}, "signature": "_fromPoolAsset(address,uint256)"}}], "description": "BaseBalancerStrategy._fromPoolAsset(address,uint256) (contracts/strategies/balancer/BaseBalancerStrategy.sol#400-419) is never used and should be removed\n", "markdown": "[BaseBalancerStrategy._fromPoolAsset(address,uint256)](contracts/strategies/balancer/BaseBalancerStrategy.sol#L400-L419) is never used and should be removed\n", "first_markdown_element": "contracts/strategies/balancer/BaseBalancerStrategy.sol#L400-L419", "id": "7172c3b3e3f4d4faa0d43c072a323390d348e93a94411aeffd451a0c8f12155e", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_getBPTExpected", "source_mapping": {"start": 11209, "length": 363, "filename_relative": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_short": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "is_dependency": false, "lines": [266, 267, 268, 269, 270, 271, 272, 273, 274, 275], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseBalancerStrategy", "source_mapping": {"start": 798, "length": 17926, "filename_relative": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_short": "contracts/strategies/balancer/BaseBalancerStrategy.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, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 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], "starting_column": 1, "ending_column": 2}}, "signature": "_getBPTExpected(address,uint256)"}}], "description": "BaseBalancerStrategy._getBPTExpected(address,uint256) (contracts/strategies/balancer/BaseBalancerStrategy.sol#266-275) is never used and should be removed\n", "markdown": "[BaseBalancerStrategy._getBPTExpected(address,uint256)](contracts/strategies/balancer/BaseBalancerStrategy.sol#L266-L275) is never used and should be removed\n", "first_markdown_element": "contracts/strategies/balancer/BaseBalancerStrategy.sol#L266-L275", "id": "414392a8237d7c299280870f69d60c9020effb6da887ce3329b46ad1a4b1a5c8", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_getBalancerPoolTokens", "source_mapping": {"start": 8966, "length": 215, "filename_relative": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_short": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "is_dependency": false, "lines": [222, 223, 224, 225, 226, 227, 228, 229], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseBalancerStrategy", "source_mapping": {"start": 798, "length": 17926, "filename_relative": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_short": "contracts/strategies/balancer/BaseBalancerStrategy.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, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 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], "starting_column": 1, "ending_column": 2}}, "signature": "_getBalancerPoolTokens()"}}], "description": "BaseBalancerStrategy._getBalancerPoolTokens() (contracts/strategies/balancer/BaseBalancerStrategy.sol#222-229) is never used and should be removed\n", "markdown": "[BaseBalancerStrategy._getBalancerPoolTokens()](contracts/strategies/balancer/BaseBalancerStrategy.sol#L222-L229) is never used and should be removed\n", "first_markdown_element": "contracts/strategies/balancer/BaseBalancerStrategy.sol#L222-L229", "id": "43bad484abb5503ba664b26eef9bf25d7ca8e3728ff4fd75e1beb9fc8335010b", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_deposit", "source_mapping": {"start": 2484, "length": 386, "filename_relative": "contracts/strategies/Generalized4626Strategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/Generalized4626Strategy.sol", "filename_short": "contracts/strategies/Generalized4626Strategy.sol", "is_dependency": false, "lines": [75, 76, 77, 78, 79, 80, 81, 82], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Generalized4626Strategy", "source_mapping": {"start": 454, "length": 6746, "filename_relative": "contracts/strategies/Generalized4626Strategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/Generalized4626Strategy.sol", "filename_short": "contracts/strategies/Generalized4626Strategy.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, 209, 210, 211], "starting_column": 1, "ending_column": 2}}, "signature": "_deposit(address,uint256)"}}], "description": "Generalized4626Strategy._deposit(address,uint256) (contracts/strategies/Generalized4626Strategy.sol#75-82) is never used and should be removed\n", "markdown": "[Generalized4626Strategy._deposit(address,uint256)](contracts/strategies/Generalized4626Strategy.sol#L75-L82) is never used and should be removed\n", "first_markdown_element": "contracts/strategies/Generalized4626Strategy.sol#L75-L82", "id": "36721a3f5c9b22c9bd57a3041f3b07fcc21c57f456cc144dfe21fbfc82b777dd", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_initialize", "source_mapping": {"start": 321, "length": 98, "filename_relative": "contracts/governance/InitializableGovernable.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/InitializableGovernable.sol", "filename_short": "contracts/governance/InitializableGovernable.sol", "is_dependency": false, "lines": [13, 14, 15], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "InitializableGovernable", "source_mapping": {"start": 253, "length": 168, "filename_relative": "contracts/governance/InitializableGovernable.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/InitializableGovernable.sol", "filename_short": "contracts/governance/InitializableGovernable.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16], "starting_column": 1, "ending_column": 2}}, "signature": "_initialize(address)"}}], "description": "InitializableGovernable._initialize(address) (contracts/governance/InitializableGovernable.sol#13-15) is never used and should be removed\n", "markdown": "[InitializableGovernable._initialize(address)](contracts/governance/InitializableGovernable.sol#L13-L15) is never used and should be removed\n", "first_markdown_element": "contracts/governance/InitializableGovernable.sol#L13-L15", "id": "3f2ac1fe30d5e500e79d00d7cdcee650008e5473ee804bcc3ba92d1969ece075", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_require", "source_mapping": {"start": 1162, "length": 138, "filename_relative": "contracts/utils/BalancerErrors.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/utils/BalancerErrors.sol", "filename_short": "contracts/utils/BalancerErrors.sol", "is_dependency": false, "lines": [32, 33, 34, 35, 36, 37, 38], "starting_column": 1, "ending_column": 2}, "type_specific_fields": {"parent": null, "signature": "_require(bool,uint256,bytes3)"}}], "description": "_require(bool,uint256,bytes3) (contracts/utils/BalancerErrors.sol#32-38) is never used and should be removed\n", "markdown": "[_require(bool,uint256,bytes3)](contracts/utils/BalancerErrors.sol#L32-L38) is never used and should be removed\n", "first_markdown_element": "contracts/utils/BalancerErrors.sol#L32-L38", "id": "34a9a1f0d261723592d808bbe846d790121d01f33f11a357647ffba1718d4da8", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/buyback/Buyback.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/buyback/Buyback.sol#L2) allows old versions\n", "first_markdown_element": "contracts/buyback/Buyback.sol#L2", "id": "82f7aa39285a2aa0a0aeb4cba71ff4484e8d7d769c5cfd578256f37620cd4b1c", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/compensation/CompensationClaims.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/compensation/CompensationClaims.sol#L2) allows old versions\n", "first_markdown_element": "contracts/compensation/CompensationClaims.sol#L2", "id": "c02ba4c4226a7a9670dc4b7bab2bebca3a519f6c5a51add1ba22600ea05e24f7", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/flipper/Flipper.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/flipper/Flipper.sol", "filename_short": "contracts/flipper/Flipper.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/flipper/Flipper.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/flipper/Flipper.sol#L2) allows old versions\n", "first_markdown_element": "contracts/flipper/Flipper.sol#L2", "id": "281c63a535d0389950d5b075401c81b9c18da3629810d6f94c96e0e9348d77cf", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/governance/Governable.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/Governable.sol", "filename_short": "contracts/governance/Governable.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/governance/Governable.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/governance/Governable.sol#L2) allows old versions\n", "first_markdown_element": "contracts/governance/Governable.sol#L2", "id": "a9f16bb10340d2d12d80ed061384a2ffef346969793204e4fbedca1c24145ed8", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/governance/Governor.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/Governor.sol", "filename_short": "contracts/governance/Governor.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/governance/Governor.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/governance/Governor.sol#L2) allows old versions\n", "first_markdown_element": "contracts/governance/Governor.sol#L2", "id": "cacf63d5a01c6cc2a8853d12121bf90c8f7bc7c278244272b10503aeb7f0d558", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/governance/InitializableGovernable.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/InitializableGovernable.sol", "filename_short": "contracts/governance/InitializableGovernable.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/governance/InitializableGovernable.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/governance/InitializableGovernable.sol#L2) allows old versions\n", "first_markdown_element": "contracts/governance/InitializableGovernable.sol#L2", "id": "79d0ce734dc0dff71f45eec4127b00b9a96f302b448bccb8e53eac5491a7dea4", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/governance/Strategizable.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/Strategizable.sol", "filename_short": "contracts/governance/Strategizable.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/governance/Strategizable.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/governance/Strategizable.sol#L2) allows old versions\n", "first_markdown_element": "contracts/governance/Strategizable.sol#L2", "id": "6704e69d816d659695f9dff4ba63d12478df83cf402a95906fe4d0a8e3030a3f", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/harvest/BaseHarvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/BaseHarvester.sol", "filename_short": "contracts/harvest/BaseHarvester.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/harvest/BaseHarvester.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/harvest/BaseHarvester.sol#L2) allows old versions\n", "first_markdown_element": "contracts/harvest/BaseHarvester.sol#L2", "id": "a5124e066b2fbb7dd1e955b4fcd2beacad6be21123061eceed403b4726a7cd41", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/harvest/Dripper.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/Dripper.sol", "filename_short": "contracts/harvest/Dripper.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/harvest/Dripper.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/harvest/Dripper.sol#L2) allows old versions\n", "first_markdown_element": "contracts/harvest/Dripper.sol#L2", "id": "1140b3378dbcf85f848dd3593f6db455b81de599993575647a78a8e9e16d7e86", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/harvest/Harvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/Harvester.sol", "filename_short": "contracts/harvest/Harvester.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/harvest/Harvester.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/harvest/Harvester.sol#L2) allows old versions\n", "first_markdown_element": "contracts/harvest/Harvester.sol#L2", "id": "9da9505bab8b0fd00e20e6db4a6fead1534b69d28987dc31631a69876e522cbc", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/harvest/OETHDripper.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/OETHDripper.sol", "filename_short": "contracts/harvest/OETHDripper.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/harvest/OETHDripper.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/harvest/OETHDripper.sol#L2) allows old versions\n", "first_markdown_element": "contracts/harvest/OETHDripper.sol#L2", "id": "9868f31eabf1e720593a50a20e5bb824dd11b311d005285c616a0002edba9f6e", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/harvest/OETHHarvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/OETHHarvester.sol", "filename_short": "contracts/harvest/OETHHarvester.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/harvest/OETHHarvester.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/harvest/OETHHarvester.sol#L2) allows old versions\n", "first_markdown_element": "contracts/harvest/OETHHarvester.sol#L2", "id": "3a3adb7c5e90ad98fb80214a4f7844cffc76e3b15d6c0af1a826625357bb071a", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/interfaces/IBasicToken.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/IBasicToken.sol", "filename_short": "contracts/interfaces/IBasicToken.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/IBasicToken.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/IBasicToken.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/IBasicToken.sol#L2", "id": "94bff6382b90ad3924c0066cfd097d81ac291208d0369684cb54afe8658dabba", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/interfaces/IBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/IBuyback.sol", "filename_short": "contracts/interfaces/IBuyback.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/IBuyback.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/IBuyback.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/IBuyback.sol#L2", "id": "185bc9860851ec47e3d7ad04b7f00dca9776de2b9dd4d9fe036240034b795bfd", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/interfaces/IComptroller.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/IComptroller.sol", "filename_short": "contracts/interfaces/IComptroller.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/IComptroller.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/IComptroller.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/IComptroller.sol#L2", "id": "a0c1bfd5ca31ee3e23316e502e3ef04bf450325444d5445aff16c409cb4fc156", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/interfaces/IEthUsdOracle.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/IEthUsdOracle.sol", "filename_short": "contracts/interfaces/IEthUsdOracle.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/IEthUsdOracle.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/IEthUsdOracle.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/IEthUsdOracle.sol#L2", "id": "272e660a7ba45f6a97e0c83762294ab6e2cf4d00cbceda6120b5d8672a34489e", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/interfaces/IFraxETHMinter.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/IFraxETHMinter.sol", "filename_short": "contracts/interfaces/IFraxETHMinter.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/IFraxETHMinter.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/IFraxETHMinter.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/IFraxETHMinter.sol#L2", "id": "9a001f820d4bcc8f8cc237c99569448b23551b10274194dc40cdf0fb6dc674ff", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 0, "length": 23, "filename_relative": "contracts/interfaces/IGetExchangeRateToken.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/IGetExchangeRateToken.sol", "filename_short": "contracts/interfaces/IGetExchangeRateToken.sol", "is_dependency": false, "lines": [1], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/IGetExchangeRateToken.sol#1) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/IGetExchangeRateToken.sol#L1) allows old versions\n", "first_markdown_element": "contracts/interfaces/IGetExchangeRateToken.sol#L1", "id": "d40ef5adf85becbae2a11790f9e20e51d1a263c96199ebf02bb2f573909a129e", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/interfaces/IHarvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/IHarvester.sol", "filename_short": "contracts/interfaces/IHarvester.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/IHarvester.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/IHarvester.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/IHarvester.sol#L2", "id": "03c1e790b44ea5d7724d4ef7f0f2a546854105ff2368688bcefa16d3acacfddf", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/interfaces/IMinMaxOracle.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/IMinMaxOracle.sol", "filename_short": "contracts/interfaces/IMinMaxOracle.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/IMinMaxOracle.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/IMinMaxOracle.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/IMinMaxOracle.sol#L2", "id": "c2690b6bd4695286c86c5a3bd76986a663dca50c509ccf6ee859eccca2c7dc4d", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 0, "length": 23, "filename_relative": "contracts/interfaces/IOUSD.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/IOUSD.sol", "filename_short": "contracts/interfaces/IOUSD.sol", "is_dependency": false, "lines": [1], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/IOUSD.sol#1) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/IOUSD.sol#L1) allows old versions\n", "first_markdown_element": "contracts/interfaces/IOUSD.sol#L1", "id": "3853d01e8691288aa7cdbaa59886ee68e2413ccd489d898d83b2e49b4a1ddc23", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/interfaces/IOneInch.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/IOneInch.sol", "filename_short": "contracts/interfaces/IOneInch.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/IOneInch.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/IOneInch.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/IOneInch.sol#L2", "id": "e352c191d5ada9b352c135cde4fc6e19e45f1570610a939fe8633c71effdd36c", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/interfaces/IOracle.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/IOracle.sol", "filename_short": "contracts/interfaces/IOracle.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/IOracle.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/IOracle.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/IOracle.sol#L2", "id": "a4d7c9eafef08e42e6544dd4019cf9efe7f51c00050c35eb8c7cc462a5834952", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/interfaces/IPriceOracle.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/IPriceOracle.sol", "filename_short": "contracts/interfaces/IPriceOracle.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/IPriceOracle.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/IPriceOracle.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/IPriceOracle.sol#L2", "id": "ee7fa68441e218913764ed19aac4e5f2cf7278f785e7b33a65296ad6480202c1", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/interfaces/IRETH.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/IRETH.sol", "filename_short": "contracts/interfaces/IRETH.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/IRETH.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/IRETH.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/IRETH.sol#L2", "id": "5b1c6810abf706d2048174e3575be705a290708609ae849578f62744b17fd4f8", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/interfaces/ISfrxETH.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/ISfrxETH.sol", "filename_short": "contracts/interfaces/ISfrxETH.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/ISfrxETH.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/ISfrxETH.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/ISfrxETH.sol#L2", "id": "13e6b32cc8e9a01dc045d8cb5e1aee7fa29068785bd03dfbb1d63b0587431ec1", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/interfaces/IStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/IStrategy.sol", "filename_short": "contracts/interfaces/IStrategy.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/IStrategy.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/IStrategy.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/IStrategy.sol#L2", "id": "525cec582bcb9c733e3300d58ff77ebd629cf4d89a52fa0fe61d13f65c353a26", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 0, "length": 23, "filename_relative": "contracts/interfaces/ISwapper.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/ISwapper.sol", "filename_short": "contracts/interfaces/ISwapper.sol", "is_dependency": false, "lines": [1], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/ISwapper.sol#1) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/ISwapper.sol#L1) allows old versions\n", "first_markdown_element": "contracts/interfaces/ISwapper.sol#L1", "id": "0fec87f800d6723dd3d7de1770cc3be977e891e5b5fc4addf73063ff67c89925", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 0, "length": 23, "filename_relative": "contracts/interfaces/ITimelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/ITimelock.sol", "filename_short": "contracts/interfaces/ITimelock.sol", "is_dependency": false, "lines": [1], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/ITimelock.sol#1) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/ITimelock.sol#L1) allows old versions\n", "first_markdown_element": "contracts/interfaces/ITimelock.sol#L1", "id": "4475b124b600f3a464049046512f274d7d487f5569d04b0d0c8896a5148bc47f", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/interfaces/IVault.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/IVault.sol", "filename_short": "contracts/interfaces/IVault.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/IVault.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/IVault.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/IVault.sol#L2", "id": "17d8cdfc74b00a04ec29c0f955fcb435e6cea0762362480e26698d7dade395b8", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/interfaces/IWETH9.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/IWETH9.sol", "filename_short": "contracts/interfaces/IWETH9.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/IWETH9.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/IWETH9.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/IWETH9.sol#L2", "id": "fe92400d6c1a3a9d73cdad69563291319f87d651a109ea6ae2beabb7ce0257df", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/interfaces/IWstETH.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/IWstETH.sol", "filename_short": "contracts/interfaces/IWstETH.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/IWstETH.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/IWstETH.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/IWstETH.sol#L2", "id": "c5904f6311ae3dc0bc00d39c836d70c764336a6ee29b70c304c77c88bc0a33c2", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/interfaces/Tether.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/Tether.sol", "filename_short": "contracts/interfaces/Tether.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/Tether.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/Tether.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/Tether.sol#L2", "id": "a844a7c861e5d4669cae48ad216d93b53f055ecb38cb7e03df7bbebe4807598f", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/interfaces/UniswapV3Router.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/UniswapV3Router.sol", "filename_short": "contracts/interfaces/UniswapV3Router.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/UniswapV3Router.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/UniswapV3Router.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/UniswapV3Router.sol#L2", "id": "d998828992bf95d52edab99b51a8815ddfe7f3162d2f9d1803480d10c4d7ec75", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/interfaces/balancer/IBalancerVault.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/balancer/IBalancerVault.sol", "filename_short": "contracts/interfaces/balancer/IBalancerVault.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/balancer/IBalancerVault.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/balancer/IBalancerVault.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/balancer/IBalancerVault.sol#L2", "id": "cdc4df825083a60dad418af5da34b0a1ec66633977db1a83c207f24c4bd63695", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/interfaces/balancer/IMetaStablePool.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/balancer/IMetaStablePool.sol", "filename_short": "contracts/interfaces/balancer/IMetaStablePool.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/balancer/IMetaStablePool.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/balancer/IMetaStablePool.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/balancer/IMetaStablePool.sol#L2", "id": "21c15fd4f5fde0afd4976aeba6c1deac5c4fbd35dc65d80072398480ac362567", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 688, "length": 23, "filename_relative": "contracts/interfaces/balancer/IRateProvider.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/balancer/IRateProvider.sol", "filename_short": "contracts/interfaces/balancer/IRateProvider.sol", "is_dependency": false, "lines": [15], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/balancer/IRateProvider.sol#15) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/balancer/IRateProvider.sol#L15) allows old versions\n", "first_markdown_element": "contracts/interfaces/balancer/IRateProvider.sol#L15", "id": "a0200a0094ccd65b05e62909b5fb57759e74fd67119ad883a12d88b5d212a337", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/interfaces/chainlink/AggregatorV3Interface.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/chainlink/AggregatorV3Interface.sol", "filename_short": "contracts/interfaces/chainlink/AggregatorV3Interface.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/chainlink/AggregatorV3Interface.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/chainlink/AggregatorV3Interface.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/chainlink/AggregatorV3Interface.sol#L2", "id": "bc2ed3a6e692a07531fedf75dcd82f2e3779a5b53516d2e1624c85b32b4e820a", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 39, "length": 23, "filename_relative": "contracts/interfaces/morpho/ILens.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/morpho/ILens.sol", "filename_short": "contracts/interfaces/morpho/ILens.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/morpho/ILens.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/morpho/ILens.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/morpho/ILens.sol#L2", "id": "788b8c236da191737cf5aa9e818a9211e81393c2f3d1e9ff13f3f1212474ce4c", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 39, "length": 23, "filename_relative": "contracts/interfaces/morpho/IMorpho.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/morpho/IMorpho.sol", "filename_short": "contracts/interfaces/morpho/IMorpho.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/morpho/IMorpho.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/morpho/IMorpho.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/morpho/IMorpho.sol#L2", "id": "45909fd8b83fa9fe6a683644183358818f916d3da4ca7fe7118156a2eea13da1", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 39, "length": 23, "filename_relative": "contracts/interfaces/morpho/Types.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/morpho/Types.sol", "filename_short": "contracts/interfaces/morpho/Types.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/morpho/Types.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/morpho/Types.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/morpho/Types.sol#L2", "id": "87f2050fdffd7c5fcf5d0654ad19df383bf596df78181862f3ce6f9b683fc560", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 39, "length": 23, "filename_relative": "contracts/interfaces/morpho/compound/ICompoundOracle.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/morpho/compound/ICompoundOracle.sol", "filename_short": "contracts/interfaces/morpho/compound/ICompoundOracle.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/morpho/compound/ICompoundOracle.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/morpho/compound/ICompoundOracle.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/morpho/compound/ICompoundOracle.sol#L2", "id": "76d014d0be4fa6cf1f9a4b64ad201ec259fbf01a6eefb98db5f61fb514c224c5", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/interfaces/uniswap/IUniswapV2Pair.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/uniswap/IUniswapV2Pair.sol", "filename_short": "contracts/interfaces/uniswap/IUniswapV2Pair.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/uniswap/IUniswapV2Pair.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/uniswap/IUniswapV2Pair.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/uniswap/IUniswapV2Pair.sol#L2", "id": "b1c5a3bbf566b0e621c50e7ba4220664bd1e54da43fad71dbc938a5eded7f2c2", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/interfaces/uniswap/IUniswapV2Router02.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/uniswap/IUniswapV2Router02.sol", "filename_short": "contracts/interfaces/uniswap/IUniswapV2Router02.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/uniswap/IUniswapV2Router02.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/uniswap/IUniswapV2Router02.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/uniswap/IUniswapV2Router02.sol#L2", "id": "ad47007ddc5c67344d81dc344b49bf500ecc26e3135bd77a62fde43bd7c7b7dd", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/liquidity/LiquidityReward.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/liquidity/LiquidityReward.sol", "filename_short": "contracts/liquidity/LiquidityReward.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/liquidity/LiquidityReward.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/liquidity/LiquidityReward.sol#L2) allows old versions\n", "first_markdown_element": "contracts/liquidity/LiquidityReward.sol#L2", "id": "af43855351ffe0839a4022c9ace8a3c16d22dc86d07d1d2757ecf6f7dbee0bd7", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/oracle/OracleRouter.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/oracle/OracleRouter.sol", "filename_short": "contracts/oracle/OracleRouter.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/oracle/OracleRouter.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/oracle/OracleRouter.sol#L2) allows old versions\n", "first_markdown_element": "contracts/oracle/OracleRouter.sol#L2", "id": "51334591a78dd22a137807b4acc53389925f973033124c5930c642a302ba29b0", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#L2) allows old versions\n", "first_markdown_element": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#L2", "id": "4c766eb1c2e89d40beed9275537ff433a6045d434cdfc1b437e6fc4acc2856b9", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/proxies/Proxies.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/Proxies.sol", "filename_short": "contracts/proxies/Proxies.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/proxies/Proxies.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/proxies/Proxies.sol#L2) allows old versions\n", "first_markdown_element": "contracts/proxies/Proxies.sol#L2", "id": "54449952b8d4d7f912b7edd63a4d5f250415aca230353b6f0c2436fd08bab7c4", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/staking/SingleAssetStaking.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/staking/SingleAssetStaking.sol#L2) allows old versions\n", "first_markdown_element": "contracts/staking/SingleAssetStaking.sol#L2", "id": "0d9b9be73b171a1f5847e5df0adf23a9896dd80d43e0f466a74a13d345d8a91e", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/AaveStrategy.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/AaveStrategy.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/AaveStrategy.sol#L2", "id": "4b6bd9fd37caf2805f5c155743471e5190c0d3c67a058c887282f845b01fbd3c", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/BaseCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/BaseCompoundStrategy.sol", "filename_short": "contracts/strategies/BaseCompoundStrategy.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/BaseCompoundStrategy.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/BaseCompoundStrategy.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/BaseCompoundStrategy.sol#L2", "id": "ffb011aa0e9b47c467913e4c84522cce51b070125b4d896dd3573a9a7ef2d180", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/BaseConvexMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/BaseConvexMetaStrategy.sol", "filename_short": "contracts/strategies/BaseConvexMetaStrategy.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/BaseConvexMetaStrategy.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/BaseConvexMetaStrategy.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/BaseConvexMetaStrategy.sol#L2", "id": "83428776089a6ca8806eb19a4738ab918e43169a57b4e961f748db3bd1950a43", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/BaseCurveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/BaseCurveStrategy.sol", "filename_short": "contracts/strategies/BaseCurveStrategy.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/BaseCurveStrategy.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/BaseCurveStrategy.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/BaseCurveStrategy.sol#L2", "id": "d2a54684ab02a9305bab0d6c3424e84d8370c96874128ca7e5a41660bc8f06fc", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/CompoundStrategy.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/CompoundStrategy.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/CompoundStrategy.sol#L2", "id": "92a7098362a42f7f87c42e9d955c08eb71aa98a0d92611ed508d73c3118fa022", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/ConvexEthMetaStrategy.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/ConvexEthMetaStrategy.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/ConvexEthMetaStrategy.sol#L2", "id": "7edb20db5c0200c2bd05a4366895fdf37f10cd1d2bb0d695908c07e9c837b848", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/ConvexGeneralizedMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexGeneralizedMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexGeneralizedMetaStrategy.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/ConvexGeneralizedMetaStrategy.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/ConvexGeneralizedMetaStrategy.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/ConvexGeneralizedMetaStrategy.sol#L2", "id": "5fa480122d27055b8ec676e247738324933e9773ab3abda6f51098e1daeeec04", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/ConvexOUSDMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexOUSDMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexOUSDMetaStrategy.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/ConvexOUSDMetaStrategy.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/ConvexOUSDMetaStrategy.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/ConvexOUSDMetaStrategy.sol#L2", "id": "ac6a57a349bf50561c41daec54512d189e8ce8f2e71080e3bc8ffe87dd163260", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/ConvexStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexStrategy.sol", "filename_short": "contracts/strategies/ConvexStrategy.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/ConvexStrategy.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/ConvexStrategy.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/ConvexStrategy.sol#L2", "id": "897cc29611993f610e5dc9875acb6ad1998d16d5db80ef87cb24be58fe75fed6", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/FluxStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/FluxStrategy.sol", "filename_short": "contracts/strategies/FluxStrategy.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/FluxStrategy.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/FluxStrategy.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/FluxStrategy.sol#L2", "id": "393fbd06405ca3131afb6417a96cbe43833001f958740775dec3a1592922d214", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/FraxETHStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/FraxETHStrategy.sol", "filename_short": "contracts/strategies/FraxETHStrategy.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/FraxETHStrategy.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/FraxETHStrategy.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/FraxETHStrategy.sol#L2", "id": "8ef2be5e3d56be6f3c3457596407a8fe5c07c5950a462c145e1ebed8a11c9994", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/Generalized4626Strategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/Generalized4626Strategy.sol", "filename_short": "contracts/strategies/Generalized4626Strategy.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/Generalized4626Strategy.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/Generalized4626Strategy.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/Generalized4626Strategy.sol#L2", "id": "2a08a0f02b99768b50a70e61fa311b9a27abdbe4d3123dac80ce0a92a573621e", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/IAave.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/IAave.sol", "filename_short": "contracts/strategies/IAave.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/IAave.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/IAave.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/IAave.sol#L2", "id": "03d09f76f6327ec3e00462e72f330bc5b7b74c4c76dd86178740bae9b58213df", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/IAaveIncentivesController.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/IAaveIncentivesController.sol", "filename_short": "contracts/strategies/IAaveIncentivesController.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/IAaveIncentivesController.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/IAaveIncentivesController.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/IAaveIncentivesController.sol#L2", "id": "021193b4603c0ed5ac062858b53e3888ceb0c79df1cc0b782fafd97a6197c153", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/IAaveStakeToken.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/IAaveStakeToken.sol", "filename_short": "contracts/strategies/IAaveStakeToken.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/IAaveStakeToken.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/IAaveStakeToken.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/IAaveStakeToken.sol#L2", "id": "51aed3d5dcdcf77b6106f36ac622c82acef7e0d7ff7892b311e1adc4bbb0edc7", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/ICRVMinter.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ICRVMinter.sol", "filename_short": "contracts/strategies/ICRVMinter.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/ICRVMinter.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/ICRVMinter.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/ICRVMinter.sol#L2", "id": "c1e0e830ba7445a95b4c566d6ec67217c2d6b9749ead120e45b1ebf8015c8bc4", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/ICompound.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ICompound.sol", "filename_short": "contracts/strategies/ICompound.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/ICompound.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/ICompound.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/ICompound.sol#L2", "id": "ddba7df5322db75d195376ffb9e85ab8e56d1c7c52815188d440127a56fd9745", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/IConvexDeposits.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/IConvexDeposits.sol", "filename_short": "contracts/strategies/IConvexDeposits.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/IConvexDeposits.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/IConvexDeposits.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/IConvexDeposits.sol#L2", "id": "bd18c560914c2915ea918e64268f9d1d198f7ccf10dd56022daaac37648414e1", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/ICurveETHPoolV1.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ICurveETHPoolV1.sol", "filename_short": "contracts/strategies/ICurveETHPoolV1.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/ICurveETHPoolV1.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/ICurveETHPoolV1.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/ICurveETHPoolV1.sol#L2", "id": "87f73a3e8426ca53be7f43f25aef20229cd70ff8b3959b7f179297693c5de12f", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/ICurveGauge.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ICurveGauge.sol", "filename_short": "contracts/strategies/ICurveGauge.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/ICurveGauge.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/ICurveGauge.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/ICurveGauge.sol#L2", "id": "238b46b151a29be97e64f11d9fe1618d42b47fe81401a8cdcc641adba9ebc20e", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.4", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/ICurveMetaPool.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ICurveMetaPool.sol", "filename_short": "contracts/strategies/ICurveMetaPool.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".4"]}}], "description": "Pragma version^0.8.4 (contracts/strategies/ICurveMetaPool.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.4](contracts/strategies/ICurveMetaPool.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/ICurveMetaPool.sol#L2", "id": "7c55a7fd5852f4820ced907ab1a5d0cd97dfe970237e22a8ce7d08c37f23bd74", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/ICurvePool.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ICurvePool.sol", "filename_short": "contracts/strategies/ICurvePool.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/ICurvePool.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/ICurvePool.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/ICurvePool.sol#L2", "id": "f757494eaef356ad0c81503b9251f6301b88a90c82132045d49aaad9905f3f93", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/IRewardStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/IRewardStaking.sol", "filename_short": "contracts/strategies/IRewardStaking.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/IRewardStaking.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/IRewardStaking.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/IRewardStaking.sol#L2", "id": "9f4345a2ad09e15353a5110b5f623427acaef0955ffa86e0566554f27c6888fe", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/MorphoAaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoAaveStrategy.sol", "filename_short": "contracts/strategies/MorphoAaveStrategy.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/MorphoAaveStrategy.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/MorphoAaveStrategy.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/MorphoAaveStrategy.sol#L2", "id": "093a7824790924e30487939ec460262253829141fddcf00da32cf96c270de1e1", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/MorphoCompoundStrategy.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/MorphoCompoundStrategy.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/MorphoCompoundStrategy.sol#L2", "id": "8db8fc20ef33347d2f01428f1313b44970fa01ceb2a5b5077ee12535f3cc74cd", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/ThreePoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ThreePoolStrategy.sol", "filename_short": "contracts/strategies/ThreePoolStrategy.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/ThreePoolStrategy.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/ThreePoolStrategy.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/ThreePoolStrategy.sol#L2", "id": "2c01ceb3c023f424da1ce7aad8d10035e4e03ef67f4043df9a0756dee97d0ae5", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/VaultValueChecker.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/VaultValueChecker.sol", "filename_short": "contracts/strategies/VaultValueChecker.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/VaultValueChecker.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/VaultValueChecker.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/VaultValueChecker.sol#L2", "id": "f0e49630796934edda0580f937847757b9f78dfd24164ef52ff32d0624f92cbf", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L2", "id": "96a4f714939f6ce445a212a2c1e8cf2337907993803525b501c6e4c568b2290a", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/balancer/BaseAuraStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BaseAuraStrategy.sol", "filename_short": "contracts/strategies/balancer/BaseAuraStrategy.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/balancer/BaseAuraStrategy.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/balancer/BaseAuraStrategy.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/balancer/BaseAuraStrategy.sol#L2", "id": "f74abab019eaf77a854245706492d983f7f3b8c74afb17987914e021ce4e7857", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_short": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/balancer/BaseBalancerStrategy.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/balancer/BaseBalancerStrategy.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/balancer/BaseBalancerStrategy.sol#L2", "id": "35dd7da8ef2b42cd69590a715e37e95b1d6264518801e2b112e605aaaf0e0dc1", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": ">=0.7.0<0.9.0", "source_mapping": {"start": 688, "length": 31, "filename_relative": "contracts/strategies/balancer/VaultReentrancyLib.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/VaultReentrancyLib.sol", "filename_short": "contracts/strategies/balancer/VaultReentrancyLib.sol", "is_dependency": false, "lines": [15], "starting_column": 1, "ending_column": 32}, "type_specific_fields": {"directive": ["solidity", ">=", "0.7", ".0", "<", "0.9", ".0"]}}], "description": "Pragma version>=0.7.0<0.9.0 (contracts/strategies/balancer/VaultReentrancyLib.sol#15) is too complex\n", "markdown": "Pragma version[>=0.7.0<0.9.0](contracts/strategies/balancer/VaultReentrancyLib.sol#L15) is too complex\n", "first_markdown_element": "contracts/strategies/balancer/VaultReentrancyLib.sol#L15", "id": "6580f38da1aa240fb5b3862439e748ea499bd72ee055940f18478a7c52715b0e", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/swapper/Swapper1InchV5.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/swapper/Swapper1InchV5.sol", "filename_short": "contracts/swapper/Swapper1InchV5.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/swapper/Swapper1InchV5.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/swapper/Swapper1InchV5.sol#L2) allows old versions\n", "first_markdown_element": "contracts/swapper/Swapper1InchV5.sol#L2", "id": "a4c33b5af6d7e7fe16f2ced5aa2b62c83a02c59f7473bf8ed321f7a47673c1ff", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/timelock/Timelock.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/timelock/Timelock.sol#L2) allows old versions\n", "first_markdown_element": "contracts/timelock/Timelock.sol#L2", "id": "d28fc27cadb50f2a9adcbf2679eefb86dc31b472d1f1f52197fd3b627cfe9009", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/token/OETH.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/token/OETH.sol", "filename_short": "contracts/token/OETH.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/token/OETH.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/token/OETH.sol#L2) allows old versions\n", "first_markdown_element": "contracts/token/OETH.sol#L2", "id": "0c536785d47453c3e04de56ec0b68c6a1615dccdc19a62e2c85682e2a8f7c7d5", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/token/OUSD.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/token/OUSD.sol#L2) allows old versions\n", "first_markdown_element": "contracts/token/OUSD.sol#L2", "id": "4c28a6c60c940b0c929b0752f10fc43d2c0da77f4294e3d9a3a7284d9d82299a", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/token/WOETH.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/token/WOETH.sol", "filename_short": "contracts/token/WOETH.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/token/WOETH.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/token/WOETH.sol#L2) allows old versions\n", "first_markdown_element": "contracts/token/WOETH.sol#L2", "id": "17861c958de8b62ca693a620b8acfdfa2d1bd58c2f5784a862e1b7547303e94d", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/token/WrappedOusd.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/token/WrappedOusd.sol", "filename_short": "contracts/token/WrappedOusd.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/token/WrappedOusd.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/token/WrappedOusd.sol#L2) allows old versions\n", "first_markdown_element": "contracts/token/WrappedOusd.sol#L2", "id": "3e4418ef1bc9e338a5aeb1cfa883886f37ab4e0da2435bd3b234ba49d317e730", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": ">=0.7.4<0.9.0", "source_mapping": {"start": 688, "length": 31, "filename_relative": "contracts/utils/BalancerErrors.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/utils/BalancerErrors.sol", "filename_short": "contracts/utils/BalancerErrors.sol", "is_dependency": false, "lines": [15], "starting_column": 1, "ending_column": 32}, "type_specific_fields": {"directive": ["solidity", ">=", "0.7", ".4", "<", "0.9", ".0"]}}], "description": "Pragma version>=0.7.4<0.9.0 (contracts/utils/BalancerErrors.sol#15) is too complex\n", "markdown": "Pragma version[>=0.7.4<0.9.0](contracts/utils/BalancerErrors.sol#L15) is too complex\n", "first_markdown_element": "contracts/utils/BalancerErrors.sol#L15", "id": "70df7857ac9891aa8cf53e027c04023696b0ad1f76d554b9977078967ae979a3", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/utils/Helpers.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/utils/Helpers.sol", "filename_short": "contracts/utils/Helpers.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/utils/Helpers.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/utils/Helpers.sol#L2) allows old versions\n", "first_markdown_element": "contracts/utils/Helpers.sol#L2", "id": "86623102155b1f075f6ea2dd0ddac7ed6b2d3b622cb613deefb6c97e2a0be030", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/utils/Initializable.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/utils/Initializable.sol", "filename_short": "contracts/utils/Initializable.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/utils/Initializable.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/utils/Initializable.sol#L2) allows old versions\n", "first_markdown_element": "contracts/utils/Initializable.sol#L2", "id": "1b5144dca22360d396579ab156ffa691cbf0ed4e22bf3c00ee10fabf9703e062", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/utils/InitializableAbstractStrategy.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/utils/InitializableAbstractStrategy.sol#L2) allows old versions\n", "first_markdown_element": "contracts/utils/InitializableAbstractStrategy.sol#L2", "id": "e4ba9f8308fcf868334ea35ea0011b4dc5065ea98e8e2f866b6663636a34133c", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/utils/InitializableERC20Detailed.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/utils/InitializableERC20Detailed.sol", "filename_short": "contracts/utils/InitializableERC20Detailed.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/utils/InitializableERC20Detailed.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/utils/InitializableERC20Detailed.sol#L2) allows old versions\n", "first_markdown_element": "contracts/utils/InitializableERC20Detailed.sol#L2", "id": "cc3087c4f9d79aeb7b09b5af0de7a2c21f568639180749dfae8282cc230769ac", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/vault/OETHVault.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHVault.sol", "filename_short": "contracts/vault/OETHVault.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/vault/OETHVault.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/vault/OETHVault.sol#L2) allows old versions\n", "first_markdown_element": "contracts/vault/OETHVault.sol#L2", "id": "604949a689d5c3b2ab20fb9cd6b7310f14ac7bd713bc96e0db26d320a9eb864d", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/vault/OETHVaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHVaultAdmin.sol", "filename_short": "contracts/vault/OETHVaultAdmin.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/vault/OETHVaultAdmin.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/vault/OETHVaultAdmin.sol#L2) allows old versions\n", "first_markdown_element": "contracts/vault/OETHVaultAdmin.sol#L2", "id": "52063d9c11ce856aae9c6be5a5bac5eb2aa90d6adb13982fc7a8eba2ebae9a76", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/vault/OETHVaultCore.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHVaultCore.sol", "filename_short": "contracts/vault/OETHVaultCore.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/vault/OETHVaultCore.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/vault/OETHVaultCore.sol#L2) allows old versions\n", "first_markdown_element": "contracts/vault/OETHVaultCore.sol#L2", "id": "61a2f9dd5eda9e2116a60248dcfec34b77e86aa3f21e921ac302464213dee3b3", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/vault/OETHZapper.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/vault/OETHZapper.sol#L2) allows old versions\n", "first_markdown_element": "contracts/vault/OETHZapper.sol#L2", "id": "147adfb2889187ec2a27af28deae1179c4fbdbdcf42e2d98832947d7a6daa618", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/vault/Vault.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/Vault.sol", "filename_short": "contracts/vault/Vault.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/vault/Vault.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/vault/Vault.sol#L2) allows old versions\n", "first_markdown_element": "contracts/vault/Vault.sol#L2", "id": "9a51591a30b72d5cd9296be4fbbb7b829de2b26331556dd05fb210fce4ce90d8", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/vault/VaultAdmin.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/vault/VaultAdmin.sol#L2) allows old versions\n", "first_markdown_element": "contracts/vault/VaultAdmin.sol#L2", "id": "af09cf9a6cd593314e07a4a02c9fda9d86de52506100b576110e312776e508d3", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/vault/VaultCore.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/vault/VaultCore.sol#L2) allows old versions\n", "first_markdown_element": "contracts/vault/VaultCore.sol#L2", "id": "c6f1fe952b98499175623c21fa73863d0e52ede9adcdb9a0840b62c0ba0f4636", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/vault/VaultStorage.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/vault/VaultStorage.sol#L2) allows old versions\n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L2", "id": "8f3edef86568cc9c580189310994269662f4ded56367af9f91567362f996681f", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": ">=0.4.22<0.9.0", "source_mapping": {"start": 32, "length": 33, "filename_relative": "node_modules/hardhat/console.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/node_modules/hardhat/console.sol", "filename_short": "node_modules/hardhat/console.sol", "is_dependency": true, "lines": [2], "starting_column": 1, "ending_column": 34}, "type_specific_fields": {"directive": ["solidity", ">=", "0.4", ".22", "<", "0.9", ".0"]}}], "description": "Pragma version>=0.4.22<0.9.0 (node_modules/hardhat/console.sol#2) is too complex\n", "markdown": "Pragma version[>=0.4.22<0.9.0](node_modules/hardhat/console.sol#L2) is too complex\n", "first_markdown_element": "node_modules/hardhat/console.sol#L2", "id": "f30cc00866ad4644a058066a785a40fc85920295b639d57c66467131996ae1a5", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [], "description": "solc-0.8.7 is not recommended for deployment\n", "markdown": "solc-0.8.7 is not recommended for deployment\n", "first_markdown_element": "", "id": "7625fc0b76e6d47f90acb00bf7e2271fd51795d3b2a30f085edbbc0db8832c0c", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "initialize", "source_mapping": {"start": 1352, "length": 545, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "InitializeGovernedUpgradeabilityProxy", "source_mapping": {"start": 450, "length": 6294, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [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], "starting_column": 1, "ending_column": 2}}, "signature": "initialize(address,address,bytes)"}}, {"type": "node", "name": "(success) = _logic.delegatecall(_data)", "source_mapping": {"start": 1765, "length": 45, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [46], "starting_column": 13, "ending_column": 58}, "type_specific_fields": {"parent": {"type": "function", "name": "initialize", "source_mapping": {"start": 1352, "length": 545, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "InitializeGovernedUpgradeabilityProxy", "source_mapping": {"start": 450, "length": 6294, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [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], "starting_column": 1, "ending_column": 2}}, "signature": "initialize(address,address,bytes)"}}}}], "description": "Low level call in InitializeGovernedUpgradeabilityProxy.initialize(address,address,bytes) (contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#34-50):\n\t- (success) = _logic.delegatecall(_data) (contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#46)\n", "markdown": "Low level call in [InitializeGovernedUpgradeabilityProxy.initialize(address,address,bytes)](contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#L34-L50):\n\t- [(success) = _logic.delegatecall(_data)](contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#L46)\n", "first_markdown_element": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#L34-L50", "id": "6c5c3cf16cf2b84b5eb1ddd1ec60c27b5513ecedd039521383bf5b583573950a", "check": "low-level-calls", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "upgradeToAndCall", "source_mapping": {"start": 3091, "length": 269, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [84, 85, 86, 87, 88, 89, 90, 91, 92], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "InitializeGovernedUpgradeabilityProxy", "source_mapping": {"start": 450, "length": 6294, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [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], "starting_column": 1, "ending_column": 2}}, "signature": "upgradeToAndCall(address,bytes)"}}, {"type": "node", "name": "(success) = newImplementation.delegatecall(data)", "source_mapping": {"start": 3272, "length": 55, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [90], "starting_column": 9, "ending_column": 64}, "type_specific_fields": {"parent": {"type": "function", "name": "upgradeToAndCall", "source_mapping": {"start": 3091, "length": 269, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [84, 85, 86, 87, 88, 89, 90, 91, 92], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "InitializeGovernedUpgradeabilityProxy", "source_mapping": {"start": 450, "length": 6294, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [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], "starting_column": 1, "ending_column": 2}}, "signature": "upgradeToAndCall(address,bytes)"}}}}], "description": "Low level call in InitializeGovernedUpgradeabilityProxy.upgradeToAndCall(address,bytes) (contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#84-92):\n\t- (success) = newImplementation.delegatecall(data) (contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#90)\n", "markdown": "Low level call in [InitializeGovernedUpgradeabilityProxy.upgradeToAndCall(address,bytes)](contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#L84-L92):\n\t- [(success) = newImplementation.delegatecall(data)](contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#L90)\n", "first_markdown_element": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#L84-L92", "id": "7f2660b6c4c8a8a08bd4c88bece7832ccd9c9463eef8e34dabd5f732b86d6d47", "check": "low-level-calls", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "ensureNotInVaultContext", "source_mapping": {"start": 2014, "length": 2926, "filename_relative": "contracts/strategies/balancer/VaultReentrancyLib.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/VaultReentrancyLib.sol", "filename_short": "contracts/strategies/balancer/VaultReentrancyLib.sol", "is_dependency": false, "lines": [37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultReentrancyLib", "source_mapping": {"start": 842, "length": 4100, "filename_relative": "contracts/strategies/balancer/VaultReentrancyLib.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/VaultReentrancyLib.sol", "filename_short": "contracts/strategies/balancer/VaultReentrancyLib.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], "starting_column": 1, "ending_column": 2}}, "signature": "ensureNotInVaultContext(IBalancerVault)"}}, {"type": "node", "name": "(revertData) = address(vault).staticcall{gas: 10_000}(abi.encodeWithSelector(vault.manageUserBalance.selector,0))", "source_mapping": {"start": 4718, "length": 153, "filename_relative": "contracts/strategies/balancer/VaultReentrancyLib.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/VaultReentrancyLib.sol", "filename_short": "contracts/strategies/balancer/VaultReentrancyLib.sol", "is_dependency": false, "lines": [78, 79, 80], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "ensureNotInVaultContext", "source_mapping": {"start": 2014, "length": 2926, "filename_relative": "contracts/strategies/balancer/VaultReentrancyLib.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/VaultReentrancyLib.sol", "filename_short": "contracts/strategies/balancer/VaultReentrancyLib.sol", "is_dependency": false, "lines": [37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultReentrancyLib", "source_mapping": {"start": 842, "length": 4100, "filename_relative": "contracts/strategies/balancer/VaultReentrancyLib.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/VaultReentrancyLib.sol", "filename_short": "contracts/strategies/balancer/VaultReentrancyLib.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], "starting_column": 1, "ending_column": 2}}, "signature": "ensureNotInVaultContext(IBalancerVault)"}}}}], "description": "Low level call in VaultReentrancyLib.ensureNotInVaultContext(IBalancerVault) (contracts/strategies/balancer/VaultReentrancyLib.sol#37-83):\n\t- (revertData) = address(vault).staticcall{gas: 10_000}(abi.encodeWithSelector(vault.manageUserBalance.selector,0)) (contracts/strategies/balancer/VaultReentrancyLib.sol#78-80)\n", "markdown": "Low level call in [VaultReentrancyLib.ensureNotInVaultContext(IBalancerVault)](contracts/strategies/balancer/VaultReentrancyLib.sol#L37-L83):\n\t- [(revertData) = address(vault).staticcall{gas: 10_000}(abi.encodeWithSelector(vault.manageUserBalance.selector,0))](contracts/strategies/balancer/VaultReentrancyLib.sol#L78-L80)\n", "first_markdown_element": "contracts/strategies/balancer/VaultReentrancyLib.sol#L37-L83", "id": "98316229491915cc66c956087ac79402c560c3f206de5f6cd847957cb34b9835", "check": "low-level-calls", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "executeTransaction", "source_mapping": {"start": 4611, "length": 1434, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Timelock", "source_mapping": {"start": 298, "length": 6391, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242], "starting_column": 1, "ending_column": 2}}, "signature": "executeTransaction(address,string,bytes,uint256)"}}, {"type": "node", "name": "(success,returnData) = target.call(callData)", "source_mapping": {"start": 5793, "length": 63, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [211], "starting_column": 9, "ending_column": 72}, "type_specific_fields": {"parent": {"type": "function", "name": "executeTransaction", "source_mapping": {"start": 4611, "length": 1434, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Timelock", "source_mapping": {"start": 298, "length": 6391, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242], "starting_column": 1, "ending_column": 2}}, "signature": "executeTransaction(address,string,bytes,uint256)"}}}}], "description": "Low level call in Timelock.executeTransaction(address,string,bytes,uint256) (contracts/timelock/Timelock.sol#171-220):\n\t- (success,returnData) = target.call(callData) (contracts/timelock/Timelock.sol#211)\n", "markdown": "Low level call in [Timelock.executeTransaction(address,string,bytes,uint256)](contracts/timelock/Timelock.sol#L171-L220):\n\t- [(success,returnData) = target.call(callData)](contracts/timelock/Timelock.sol#L211)\n", "first_markdown_element": "contracts/timelock/Timelock.sol#L171-L220", "id": "fc264625329d03fc92609ac851cf350acd7395286be85f37aa67182242c97b4c", "check": "low-level-calls", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "contract", "name": "Buyback", "source_mapping": {"start": 471, "length": 6795, "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224], "starting_column": 1, "ending_column": 2}}, {"type": "contract", "name": "IBuyback", "source_mapping": {"start": 57, "length": 52, "filename_relative": "contracts/interfaces/IBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/IBuyback.sol", "filename_short": "contracts/interfaces/IBuyback.sol", "is_dependency": false, "lines": [4, 5, 6], "starting_column": 1, "ending_column": 2}}], "description": "Buyback (contracts/buyback/Buyback.sol#12-224) should inherit from IBuyback (contracts/interfaces/IBuyback.sol#4-6)\n", "markdown": "[Buyback](contracts/buyback/Buyback.sol#L12-L224) should inherit from [IBuyback](contracts/interfaces/IBuyback.sol#L4-L6)\n", "first_markdown_element": "contracts/buyback/Buyback.sol#L12-L224", "id": "888f95b000b702e7d04774c76c9794a92c1e80600b6b7a97ce73c55bcee78fe5", "check": "missing-inheritance", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "contract", "name": "CompensationClaims", "source_mapping": {"start": 1527, "length": 3674, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164], "starting_column": 1, "ending_column": 2}}, {"type": "contract", "name": "IERC20Decimals", "source_mapping": {"start": 5203, "length": 83, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [166, 167, 168], "starting_column": 1, "ending_column": 2}}], "description": "CompensationClaims (contracts/compensation/CompensationClaims.sol#42-164) should inherit from IERC20Decimals (contracts/compensation/CompensationClaims.sol#166-168)\n", "markdown": "[CompensationClaims](contracts/compensation/CompensationClaims.sol#L42-L164) should inherit from [IERC20Decimals](contracts/compensation/CompensationClaims.sol#L166-L168)\n", "first_markdown_element": "contracts/compensation/CompensationClaims.sol#L42-L164", "id": "bb54307d75b10bfbf4bd0c5601ff99f3589c5042d9ed260e9d972572a851db43", "check": "missing-inheritance", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "amountADesired", "source_mapping": {"start": 448, "length": 22, "filename_relative": "contracts/interfaces/uniswap/IUniswapV2Router02.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/uniswap/IUniswapV2Router02.sol", "filename_short": "contracts/interfaces/uniswap/IUniswapV2Router02.sol", "is_dependency": false, "lines": [18], "starting_column": 9, "ending_column": 31}, "type_specific_fields": {"parent": {"type": "function", "name": "addLiquidity", "source_mapping": {"start": 369, "length": 375, "filename_relative": "contracts/interfaces/uniswap/IUniswapV2Router02.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/uniswap/IUniswapV2Router02.sol", "filename_short": "contracts/interfaces/uniswap/IUniswapV2Router02.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30], "starting_column": 5, "ending_column": 11}, "type_specific_fields": {"parent": {"type": "contract", "name": "IUniswapV2Router", "source_mapping": {"start": 57, "length": 689, "filename_relative": "contracts/interfaces/uniswap/IUniswapV2Router02.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/uniswap/IUniswapV2Router02.sol", "filename_short": "contracts/interfaces/uniswap/IUniswapV2Router02.sol", "is_dependency": false, "lines": [4, 5, 6, 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], "starting_column": 1, "ending_column": 2}}, "signature": "addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)"}}}}, {"type": "variable", "name": "amountBDesired", "source_mapping": {"start": 480, "length": 22, "filename_relative": "contracts/interfaces/uniswap/IUniswapV2Router02.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/uniswap/IUniswapV2Router02.sol", "filename_short": "contracts/interfaces/uniswap/IUniswapV2Router02.sol", "is_dependency": false, "lines": [19], "starting_column": 9, "ending_column": 31}, "type_specific_fields": {"parent": {"type": "function", "name": "addLiquidity", "source_mapping": {"start": 369, "length": 375, "filename_relative": "contracts/interfaces/uniswap/IUniswapV2Router02.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/uniswap/IUniswapV2Router02.sol", "filename_short": "contracts/interfaces/uniswap/IUniswapV2Router02.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30], "starting_column": 5, "ending_column": 11}, "type_specific_fields": {"parent": {"type": "contract", "name": "IUniswapV2Router", "source_mapping": {"start": 57, "length": 689, "filename_relative": "contracts/interfaces/uniswap/IUniswapV2Router02.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/uniswap/IUniswapV2Router02.sol", "filename_short": "contracts/interfaces/uniswap/IUniswapV2Router02.sol", "is_dependency": false, "lines": [4, 5, 6, 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], "starting_column": 1, "ending_column": 2}}, "signature": "addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)"}}}}], "description": "Variable IUniswapV2Router.addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256).amountADesired (contracts/interfaces/uniswap/IUniswapV2Router02.sol#18) is too similar to IUniswapV2Router.addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256).amountBDesired (contracts/interfaces/uniswap/IUniswapV2Router02.sol#19)\n", "markdown": "Variable [IUniswapV2Router.addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256).amountADesired](contracts/interfaces/uniswap/IUniswapV2Router02.sol#L18) is too similar to [IUniswapV2Router.addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256).amountBDesired](contracts/interfaces/uniswap/IUniswapV2Router02.sol#L19)\n", "first_markdown_element": "contracts/interfaces/uniswap/IUniswapV2Router02.sol#L18", "id": "ebfb97f25d979455759836fd8e6dfb5873e5f0066fe15708bfbea958a6c97d6c", "check": "similar-names", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "_deprecated_oeth", "source_mapping": {"start": 1691, "length": 32, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.sol", "is_dependency": false, "lines": [40], "starting_column": 5, "ending_column": 37}, "type_specific_fields": {"parent": {"type": "contract", "name": "ConvexEthMetaStrategy", "source_mapping": {"start": 769, "length": 22879, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622], "starting_column": 1, "ending_column": 2}}}}, {"type": "variable", "name": "_deprecated_weth", "source_mapping": {"start": 1779, "length": 32, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.sol", "is_dependency": false, "lines": [42], "starting_column": 5, "ending_column": 37}, "type_specific_fields": {"parent": {"type": "contract", "name": "ConvexEthMetaStrategy", "source_mapping": {"start": 769, "length": 22879, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622], "starting_column": 1, "ending_column": 2}}}}], "description": "Variable ConvexEthMetaStrategy._deprecated_oeth (contracts/strategies/ConvexEthMetaStrategy.sol#40) is too similar to ConvexEthMetaStrategy._deprecated_weth (contracts/strategies/ConvexEthMetaStrategy.sol#42)\n", "markdown": "Variable [ConvexEthMetaStrategy._deprecated_oeth](contracts/strategies/ConvexEthMetaStrategy.sol#L40) is too similar to [ConvexEthMetaStrategy._deprecated_weth](contracts/strategies/ConvexEthMetaStrategy.sol#L42)\n", "first_markdown_element": "contracts/strategies/ConvexEthMetaStrategy.sol#L40", "id": "5b6051eceb5b7aaf0e9cc0f0842f0f90d06cf9f7a22bf02559f4e9e2f3357a34", "check": "similar-names", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "_strategyAmount", "source_mapping": {"start": 6763, "length": 23, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [184], "starting_column": 9, "ending_column": 32}, "type_specific_fields": {"parent": {"type": "function", "name": "withdraw", "source_mapping": {"start": 6676, "length": 441, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BalancerMetaPoolStrategy", "source_mapping": {"start": 708, "length": 21715, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "withdraw(address,address,uint256)"}}}}, {"type": "variable", "name": "strategyAmounts", "source_mapping": {"start": 6904, "length": 51, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [187], "starting_column": 9, "ending_column": 60}, "type_specific_fields": {"parent": {"type": "function", "name": "withdraw", "source_mapping": {"start": 6676, "length": 441, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BalancerMetaPoolStrategy", "source_mapping": {"start": 708, "length": 21715, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "withdraw(address,address,uint256)"}}}}], "description": "Variable BalancerMetaPoolStrategy.withdraw(address,address,uint256)._strategyAmount (contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#184) is too similar to BalancerMetaPoolStrategy.withdraw(address,address,uint256).strategyAmounts (contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#187)\n", "markdown": "Variable [BalancerMetaPoolStrategy.withdraw(address,address,uint256)._strategyAmount](contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L184) is too similar to [BalancerMetaPoolStrategy.withdraw(address,address,uint256).strategyAmounts](contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L187)\n", "first_markdown_element": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L184", "id": "1aed6ded618c44ade473c821a6b9bf134ffc84045f4500d4abe47e6f4fa3b246", "check": "similar-names", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "_strategyAsset", "source_mapping": {"start": 6731, "length": 22, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [183], "starting_column": 9, "ending_column": 31}, "type_specific_fields": {"parent": {"type": "function", "name": "withdraw", "source_mapping": {"start": 6676, "length": 441, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BalancerMetaPoolStrategy", "source_mapping": {"start": 708, "length": 21715, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "withdraw(address,address,uint256)"}}}}, {"type": "variable", "name": "strategyAssets", "source_mapping": {"start": 6844, "length": 50, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [186], "starting_column": 9, "ending_column": 59}, "type_specific_fields": {"parent": {"type": "function", "name": "withdraw", "source_mapping": {"start": 6676, "length": 441, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BalancerMetaPoolStrategy", "source_mapping": {"start": 708, "length": 21715, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "withdraw(address,address,uint256)"}}}}], "description": "Variable BalancerMetaPoolStrategy.withdraw(address,address,uint256)._strategyAsset (contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#183) is too similar to BalancerMetaPoolStrategy.withdraw(address,address,uint256).strategyAssets (contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#186)\n", "markdown": "Variable [BalancerMetaPoolStrategy.withdraw(address,address,uint256)._strategyAsset](contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L183) is too similar to [BalancerMetaPoolStrategy.withdraw(address,address,uint256).strategyAssets](contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L186)\n", "first_markdown_element": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L183", "id": "66361a04820f0b284c38b75c42ab3a0d624fca7ff422827061628fe33a32284a", "check": "similar-names", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "_strategyAmount", "source_mapping": {"start": 6763, "length": 23, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [184], "starting_column": 9, "ending_column": 32}, "type_specific_fields": {"parent": {"type": "function", "name": "withdraw", "source_mapping": {"start": 6676, "length": 441, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BalancerMetaPoolStrategy", "source_mapping": {"start": 708, "length": 21715, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "withdraw(address,address,uint256)"}}}}, {"type": "variable", "name": "strategyAmounts", "source_mapping": {"start": 2151, "length": 62, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [63], "starting_column": 9, "ending_column": 71}, "type_specific_fields": {"parent": {"type": "function", "name": "depositAll", "source_mapping": {"start": 1955, "length": 650, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BalancerMetaPoolStrategy", "source_mapping": {"start": 708, "length": 21715, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "depositAll()"}}}}], "description": "Variable BalancerMetaPoolStrategy.withdraw(address,address,uint256)._strategyAmount (contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#184) is too similar to BalancerMetaPoolStrategy.depositAll().strategyAmounts (contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#63)\n", "markdown": "Variable [BalancerMetaPoolStrategy.withdraw(address,address,uint256)._strategyAmount](contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L184) is too similar to [BalancerMetaPoolStrategy.depositAll().strategyAmounts](contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L63)\n", "first_markdown_element": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L184", "id": "a7546e7a5e19fa58d409f225c94fc62708482c38af8128c515f32d6ba8df35fe", "check": "similar-names", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "_strategyAsset", "source_mapping": {"start": 6731, "length": 22, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [183], "starting_column": 9, "ending_column": 31}, "type_specific_fields": {"parent": {"type": "function", "name": "withdraw", "source_mapping": {"start": 6676, "length": 441, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BalancerMetaPoolStrategy", "source_mapping": {"start": 708, "length": 21715, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "withdraw(address,address,uint256)"}}}}, {"type": "variable", "name": "strategyAssets", "source_mapping": {"start": 2080, "length": 61, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [62], "starting_column": 9, "ending_column": 70}, "type_specific_fields": {"parent": {"type": "function", "name": "depositAll", "source_mapping": {"start": 1955, "length": 650, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BalancerMetaPoolStrategy", "source_mapping": {"start": 708, "length": 21715, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "depositAll()"}}}}], "description": "Variable BalancerMetaPoolStrategy.withdraw(address,address,uint256)._strategyAsset (contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#183) is too similar to BalancerMetaPoolStrategy.depositAll().strategyAssets (contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#62)\n", "markdown": "Variable [BalancerMetaPoolStrategy.withdraw(address,address,uint256)._strategyAsset](contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L183) is too similar to [BalancerMetaPoolStrategy.depositAll().strategyAssets](contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L62)\n", "first_markdown_element": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L183", "id": "8d413dbcd056feff7dc7e0cdab6461754f794759a0763231778a50085c6d7beb", "check": "similar-names", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "_minToAssetAmount", "source_mapping": {"start": 2032, "length": 25, "filename_relative": "contracts/swapper/Swapper1InchV5.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/swapper/Swapper1InchV5.sol", "filename_short": "contracts/swapper/Swapper1InchV5.sol", "is_dependency": false, "lines": [44], "starting_column": 9, "ending_column": 34}, "type_specific_fields": {"parent": {"type": "function", "name": "swap", "source_mapping": {"start": 1921, "length": 2324, "filename_relative": "contracts/swapper/Swapper1InchV5.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/swapper/Swapper1InchV5.sol", "filename_short": "contracts/swapper/Swapper1InchV5.sol", "is_dependency": false, "lines": [40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Swapper1InchV5", "source_mapping": {"start": 756, "length": 3993, "filename_relative": "contracts/swapper/Swapper1InchV5.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/swapper/Swapper1InchV5.sol", "filename_short": "contracts/swapper/Swapper1InchV5.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, 99, 100, 101, 102, 103, 104, 105, 106, 107], "starting_column": 1, "ending_column": 2}}, "signature": "swap(address,address,uint256,uint256,bytes)"}}}}, {"type": "variable", "name": "minToAssetAmmount", "source_mapping": {"start": 518, "length": 25, "filename_relative": "contracts/interfaces/ISwapper.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/ISwapper.sol", "filename_short": "contracts/interfaces/ISwapper.sol", "is_dependency": false, "lines": [15], "starting_column": 9, "ending_column": 34}, "type_specific_fields": {"parent": {"type": "function", "name": "swap", "source_mapping": {"start": 410, "length": 210, "filename_relative": "contracts/interfaces/ISwapper.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/ISwapper.sol", "filename_short": "contracts/interfaces/ISwapper.sol", "is_dependency": false, "lines": [11, 12, 13, 14, 15, 16, 17], "starting_column": 5, "ending_column": 48}, "type_specific_fields": {"parent": {"type": "contract", "name": "ISwapper", "source_mapping": {"start": 25, "length": 597, "filename_relative": "contracts/interfaces/ISwapper.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/ISwapper.sol", "filename_short": "contracts/interfaces/ISwapper.sol", "is_dependency": false, "lines": [3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18], "starting_column": 1, "ending_column": 2}}, "signature": "swap(address,address,uint256,uint256,bytes)"}}}}], "description": "Variable Swapper1InchV5.swap(address,address,uint256,uint256,bytes)._minToAssetAmount (contracts/swapper/Swapper1InchV5.sol#44) is too similar to ISwapper.swap(address,address,uint256,uint256,bytes).minToAssetAmmount (contracts/interfaces/ISwapper.sol#15)\n", "markdown": "Variable [Swapper1InchV5.swap(address,address,uint256,uint256,bytes)._minToAssetAmount](contracts/swapper/Swapper1InchV5.sol#L44) is too similar to [ISwapper.swap(address,address,uint256,uint256,bytes).minToAssetAmmount](contracts/interfaces/ISwapper.sol#L15)\n", "first_markdown_element": "contracts/swapper/Swapper1InchV5.sol#L44", "id": "eae2949d0e59530d2f242dae886ff3fea97e94f94d3823b068602062a05a241e", "check": "similar-names", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "MAX_SWAP_FEE_PERCENTAGE", "source_mapping": {"start": 6203, "length": 55, "filename_relative": "contracts/utils/BalancerErrors.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/utils/BalancerErrors.sol", "filename_short": "contracts/utils/BalancerErrors.sol", "is_dependency": false, "lines": [143], "starting_column": 5, "ending_column": 60}, "type_specific_fields": {"parent": {"type": "contract", "name": "Errors", "source_mapping": {"start": 5220, "length": 10023, "filename_relative": "contracts/utils/BalancerErrors.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/utils/BalancerErrors.sol", "filename_short": "contracts/utils/BalancerErrors.sol", "is_dependency": false, "lines": [119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305], "starting_column": 1, "ending_column": 2}}}}, {"type": "variable", "name": "MIN_SWAP_FEE_PERCENTAGE", "source_mapping": {"start": 6264, "length": 55, "filename_relative": "contracts/utils/BalancerErrors.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/utils/BalancerErrors.sol", "filename_short": "contracts/utils/BalancerErrors.sol", "is_dependency": false, "lines": [144], "starting_column": 5, "ending_column": 60}, "type_specific_fields": {"parent": {"type": "contract", "name": "Errors", "source_mapping": {"start": 5220, "length": 10023, "filename_relative": "contracts/utils/BalancerErrors.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/utils/BalancerErrors.sol", "filename_short": "contracts/utils/BalancerErrors.sol", "is_dependency": false, "lines": [119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305], "starting_column": 1, "ending_column": 2}}}}], "description": "Variable Errors.MAX_SWAP_FEE_PERCENTAGE (contracts/utils/BalancerErrors.sol#143) is too similar to Errors.MIN_SWAP_FEE_PERCENTAGE (contracts/utils/BalancerErrors.sol#144)\n", "markdown": "Variable [Errors.MAX_SWAP_FEE_PERCENTAGE](contracts/utils/BalancerErrors.sol#L143) is too similar to [Errors.MIN_SWAP_FEE_PERCENTAGE](contracts/utils/BalancerErrors.sol#L144)\n", "first_markdown_element": "contracts/utils/BalancerErrors.sol#L143", "id": "1945ab1040eae7c5129c9ca51251cc5945d27f9feeef4fe3fa3ba6ace5018424", "check": "similar-names", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "SAFE_CAST_VALUE_CANT_FIT_INT256", "source_mapping": {"start": 11645, "length": 63, "filename_relative": "contracts/utils/BalancerErrors.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/utils/BalancerErrors.sol", "filename_short": "contracts/utils/BalancerErrors.sol", "is_dependency": false, "lines": [237], "starting_column": 5, "ending_column": 68}, "type_specific_fields": {"parent": {"type": "contract", "name": "Errors", "source_mapping": {"start": 5220, "length": 10023, "filename_relative": "contracts/utils/BalancerErrors.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/utils/BalancerErrors.sol", "filename_short": "contracts/utils/BalancerErrors.sol", "is_dependency": false, "lines": [119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305], "starting_column": 1, "ending_column": 2}}}}, {"type": "variable", "name": "SAFE_CAST_VALUE_CANT_FIT_UINT64", "source_mapping": {"start": 12870, "length": 63, "filename_relative": "contracts/utils/BalancerErrors.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/utils/BalancerErrors.sol", "filename_short": "contracts/utils/BalancerErrors.sol", "is_dependency": false, "lines": [258], "starting_column": 5, "ending_column": 68}, "type_specific_fields": {"parent": {"type": "contract", "name": "Errors", "source_mapping": {"start": 5220, "length": 10023, "filename_relative": "contracts/utils/BalancerErrors.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/utils/BalancerErrors.sol", "filename_short": "contracts/utils/BalancerErrors.sol", "is_dependency": false, "lines": [119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305], "starting_column": 1, "ending_column": 2}}}}], "description": "Variable Errors.SAFE_CAST_VALUE_CANT_FIT_INT256 (contracts/utils/BalancerErrors.sol#237) is too similar to Errors.SAFE_CAST_VALUE_CANT_FIT_UINT64 (contracts/utils/BalancerErrors.sol#258)\n", "markdown": "Variable [Errors.SAFE_CAST_VALUE_CANT_FIT_INT256](contracts/utils/BalancerErrors.sol#L237) is too similar to [Errors.SAFE_CAST_VALUE_CANT_FIT_UINT64](contracts/utils/BalancerErrors.sol#L258)\n", "first_markdown_element": "contracts/utils/BalancerErrors.sol#L237", "id": "88ac8f4e5576fb97b495077a9436555edd1c567779549108bc61db44fa8fbc76", "check": "similar-names", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "X_OUT_OF_BOUNDS", "source_mapping": {"start": 5543, "length": 45, "filename_relative": "contracts/utils/BalancerErrors.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/utils/BalancerErrors.sol", "filename_short": "contracts/utils/BalancerErrors.sol", "is_dependency": false, "lines": [127], "starting_column": 5, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "contract", "name": "Errors", "source_mapping": {"start": 5220, "length": 10023, "filename_relative": "contracts/utils/BalancerErrors.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/utils/BalancerErrors.sol", "filename_short": "contracts/utils/BalancerErrors.sol", "is_dependency": false, "lines": [119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305], "starting_column": 1, "ending_column": 2}}}}, {"type": "variable", "name": "Y_OUT_OF_BOUNDS", "source_mapping": {"start": 5594, "length": 45, "filename_relative": "contracts/utils/BalancerErrors.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/utils/BalancerErrors.sol", "filename_short": "contracts/utils/BalancerErrors.sol", "is_dependency": false, "lines": [128], "starting_column": 5, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "contract", "name": "Errors", "source_mapping": {"start": 5220, "length": 10023, "filename_relative": "contracts/utils/BalancerErrors.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/utils/BalancerErrors.sol", "filename_short": "contracts/utils/BalancerErrors.sol", "is_dependency": false, "lines": [119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305], "starting_column": 1, "ending_column": 2}}}}], "description": "Variable Errors.X_OUT_OF_BOUNDS (contracts/utils/BalancerErrors.sol#127) is too similar to Errors.Y_OUT_OF_BOUNDS (contracts/utils/BalancerErrors.sol#128)\n", "markdown": "Variable [Errors.X_OUT_OF_BOUNDS](contracts/utils/BalancerErrors.sol#L127) is too similar to [Errors.Y_OUT_OF_BOUNDS](contracts/utils/BalancerErrors.sol#L128)\n", "first_markdown_element": "contracts/utils/BalancerErrors.sol#L127", "id": "f712601ceb4ec174a5c45eca90ac3878faf40c5dc35b8bac76ab1386bc61f748", "check": "similar-names", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "_deprecated_cvxDepositorAddress", "source_mapping": {"start": 1201, "length": 47, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.sol", "is_dependency": false, "lines": [30], "starting_column": 5, "ending_column": 52}, "type_specific_fields": {"parent": {"type": "contract", "name": "ConvexEthMetaStrategy", "source_mapping": {"start": 769, "length": 22879, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622], "starting_column": 1, "ending_column": 2}}}}, {"type": "contract", "name": "ConvexEthMetaStrategy", "source_mapping": {"start": 769, "length": 22879, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622], "starting_column": 1, "ending_column": 2}}], "description": "ConvexEthMetaStrategy._deprecated_cvxDepositorAddress (contracts/strategies/ConvexEthMetaStrategy.sol#30) is never used in ConvexEthMetaStrategy (contracts/strategies/ConvexEthMetaStrategy.sol#20-622)\n", "markdown": "[ConvexEthMetaStrategy._deprecated_cvxDepositorAddress](contracts/strategies/ConvexEthMetaStrategy.sol#L30) is never used in [ConvexEthMetaStrategy](contracts/strategies/ConvexEthMetaStrategy.sol#L20-L622)\n", "first_markdown_element": "contracts/strategies/ConvexEthMetaStrategy.sol#L30", "id": "0327ed03b6138255e7d3ed2dec91360718b9225fdec894e5e2565e2b9dedbd97", "check": "unused-state", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "_deprecated_cvxRewardStaker", "source_mapping": {"start": 1304, "length": 43, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.sol", "is_dependency": false, "lines": [32], "starting_column": 5, "ending_column": 48}, "type_specific_fields": {"parent": {"type": "contract", "name": "ConvexEthMetaStrategy", "source_mapping": {"start": 769, "length": 22879, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622], "starting_column": 1, "ending_column": 2}}}}, {"type": "contract", "name": "ConvexEthMetaStrategy", "source_mapping": {"start": 769, "length": 22879, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622], "starting_column": 1, "ending_column": 2}}], "description": "ConvexEthMetaStrategy._deprecated_cvxRewardStaker (contracts/strategies/ConvexEthMetaStrategy.sol#32) is never used in ConvexEthMetaStrategy (contracts/strategies/ConvexEthMetaStrategy.sol#20-622)\n", "markdown": "[ConvexEthMetaStrategy._deprecated_cvxRewardStaker](contracts/strategies/ConvexEthMetaStrategy.sol#L32) is never used in [ConvexEthMetaStrategy](contracts/strategies/ConvexEthMetaStrategy.sol#L20-L622)\n", "first_markdown_element": "contracts/strategies/ConvexEthMetaStrategy.sol#L32", "id": "30cc5ee3de309a7891c1e195b89e0be4c974dabc6853688a419fd61fe368b561", "check": "unused-state", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "_deprecated_cvxDepositorPTokenId", "source_mapping": {"start": 1403, "length": 48, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.sol", "is_dependency": false, "lines": [34], "starting_column": 5, "ending_column": 53}, "type_specific_fields": {"parent": {"type": "contract", "name": "ConvexEthMetaStrategy", "source_mapping": {"start": 769, "length": 22879, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622], "starting_column": 1, "ending_column": 2}}}}, {"type": "contract", "name": "ConvexEthMetaStrategy", "source_mapping": {"start": 769, "length": 22879, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622], "starting_column": 1, "ending_column": 2}}], "description": "ConvexEthMetaStrategy._deprecated_cvxDepositorPTokenId (contracts/strategies/ConvexEthMetaStrategy.sol#34) is never used in ConvexEthMetaStrategy (contracts/strategies/ConvexEthMetaStrategy.sol#20-622)\n", "markdown": "[ConvexEthMetaStrategy._deprecated_cvxDepositorPTokenId](contracts/strategies/ConvexEthMetaStrategy.sol#L34) is never used in [ConvexEthMetaStrategy](contracts/strategies/ConvexEthMetaStrategy.sol#L20-L622)\n", "first_markdown_element": "contracts/strategies/ConvexEthMetaStrategy.sol#L34", "id": "0c159fca431d4d02642f66812fd31a3a4f1ca96f1d99b70af66c53e29b40adb6", "check": "unused-state", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "_deprecated_curvePool", "source_mapping": {"start": 1507, "length": 37, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.sol", "is_dependency": false, "lines": [36], "starting_column": 5, "ending_column": 42}, "type_specific_fields": {"parent": {"type": "contract", "name": "ConvexEthMetaStrategy", "source_mapping": {"start": 769, "length": 22879, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622], "starting_column": 1, "ending_column": 2}}}}, {"type": "contract", "name": "ConvexEthMetaStrategy", "source_mapping": {"start": 769, "length": 22879, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622], "starting_column": 1, "ending_column": 2}}], "description": "ConvexEthMetaStrategy._deprecated_curvePool (contracts/strategies/ConvexEthMetaStrategy.sol#36) is never used in ConvexEthMetaStrategy (contracts/strategies/ConvexEthMetaStrategy.sol#20-622)\n", "markdown": "[ConvexEthMetaStrategy._deprecated_curvePool](contracts/strategies/ConvexEthMetaStrategy.sol#L36) is never used in [ConvexEthMetaStrategy](contracts/strategies/ConvexEthMetaStrategy.sol#L20-L622)\n", "first_markdown_element": "contracts/strategies/ConvexEthMetaStrategy.sol#L36", "id": "a3c3fabcdade68568928e21ca48dbc4d59ea977485e567e43b5d5eed1a7dc704", "check": "unused-state", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "_deprecated_lpToken", "source_mapping": {"start": 1600, "length": 35, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.sol", "is_dependency": false, "lines": [38], "starting_column": 5, "ending_column": 40}, "type_specific_fields": {"parent": {"type": "contract", "name": "ConvexEthMetaStrategy", "source_mapping": {"start": 769, "length": 22879, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622], "starting_column": 1, "ending_column": 2}}}}, {"type": "contract", "name": "ConvexEthMetaStrategy", "source_mapping": {"start": 769, "length": 22879, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622], "starting_column": 1, "ending_column": 2}}], "description": "ConvexEthMetaStrategy._deprecated_lpToken (contracts/strategies/ConvexEthMetaStrategy.sol#38) is never used in ConvexEthMetaStrategy (contracts/strategies/ConvexEthMetaStrategy.sol#20-622)\n", "markdown": "[ConvexEthMetaStrategy._deprecated_lpToken](contracts/strategies/ConvexEthMetaStrategy.sol#L38) is never used in [ConvexEthMetaStrategy](contracts/strategies/ConvexEthMetaStrategy.sol#L20-L622)\n", "first_markdown_element": "contracts/strategies/ConvexEthMetaStrategy.sol#L38", "id": "39e2a5642a5a27d124c6d45161ab1443b9dd5cd4895ed05e9e4802b61e11ea7d", "check": "unused-state", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "_deprecated_oeth", "source_mapping": {"start": 1691, "length": 32, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.sol", "is_dependency": false, "lines": [40], "starting_column": 5, "ending_column": 37}, "type_specific_fields": {"parent": {"type": "contract", "name": "ConvexEthMetaStrategy", "source_mapping": {"start": 769, "length": 22879, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622], "starting_column": 1, "ending_column": 2}}}}, {"type": "contract", "name": "ConvexEthMetaStrategy", "source_mapping": {"start": 769, "length": 22879, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622], "starting_column": 1, "ending_column": 2}}], "description": "ConvexEthMetaStrategy._deprecated_oeth (contracts/strategies/ConvexEthMetaStrategy.sol#40) is never used in ConvexEthMetaStrategy (contracts/strategies/ConvexEthMetaStrategy.sol#20-622)\n", "markdown": "[ConvexEthMetaStrategy._deprecated_oeth](contracts/strategies/ConvexEthMetaStrategy.sol#L40) is never used in [ConvexEthMetaStrategy](contracts/strategies/ConvexEthMetaStrategy.sol#L20-L622)\n", "first_markdown_element": "contracts/strategies/ConvexEthMetaStrategy.sol#L40", "id": "946c8098661a7ea28eaebc3ab1f95fc3943e3cb7ae3fb7136c2aec3a2d8122b6", "check": "unused-state", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "_deprecated_weth", "source_mapping": {"start": 1779, "length": 32, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.sol", "is_dependency": false, "lines": [42], "starting_column": 5, "ending_column": 37}, "type_specific_fields": {"parent": {"type": "contract", "name": "ConvexEthMetaStrategy", "source_mapping": {"start": 769, "length": 22879, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622], "starting_column": 1, "ending_column": 2}}}}, {"type": "contract", "name": "ConvexEthMetaStrategy", "source_mapping": {"start": 769, "length": 22879, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622], "starting_column": 1, "ending_column": 2}}], "description": "ConvexEthMetaStrategy._deprecated_weth (contracts/strategies/ConvexEthMetaStrategy.sol#42) is never used in ConvexEthMetaStrategy (contracts/strategies/ConvexEthMetaStrategy.sol#20-622)\n", "markdown": "[ConvexEthMetaStrategy._deprecated_weth](contracts/strategies/ConvexEthMetaStrategy.sol#L42) is never used in [ConvexEthMetaStrategy](contracts/strategies/ConvexEthMetaStrategy.sol#L20-L622)\n", "first_markdown_element": "contracts/strategies/ConvexEthMetaStrategy.sol#L42", "id": "40728e6263aa0c4e1c42152dbe790c492f8d3f371e7899ae56f366d06cff33c7", "check": "unused-state", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "_deprecated_oethCoinIndex", "source_mapping": {"start": 1903, "length": 41, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.sol", "is_dependency": false, "lines": [46], "starting_column": 5, "ending_column": 46}, "type_specific_fields": {"parent": {"type": "contract", "name": "ConvexEthMetaStrategy", "source_mapping": {"start": 769, "length": 22879, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622], "starting_column": 1, "ending_column": 2}}}}, {"type": "contract", "name": "ConvexEthMetaStrategy", "source_mapping": {"start": 769, "length": 22879, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622], "starting_column": 1, "ending_column": 2}}], "description": "ConvexEthMetaStrategy._deprecated_oethCoinIndex (contracts/strategies/ConvexEthMetaStrategy.sol#46) is never used in ConvexEthMetaStrategy (contracts/strategies/ConvexEthMetaStrategy.sol#20-622)\n", "markdown": "[ConvexEthMetaStrategy._deprecated_oethCoinIndex](contracts/strategies/ConvexEthMetaStrategy.sol#L46) is never used in [ConvexEthMetaStrategy](contracts/strategies/ConvexEthMetaStrategy.sol#L20-L622)\n", "first_markdown_element": "contracts/strategies/ConvexEthMetaStrategy.sol#L46", "id": "c73b3d49a3ad1c2a19c81105bed96c8756ef324b24a165b13b1dfe5c2ca4917d", "check": "unused-state", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "_deprecated_ethCoinIndex", "source_mapping": {"start": 2000, "length": 40, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.sol", "is_dependency": false, "lines": [48], "starting_column": 5, "ending_column": 45}, "type_specific_fields": {"parent": {"type": "contract", "name": "ConvexEthMetaStrategy", "source_mapping": {"start": 769, "length": 22879, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622], "starting_column": 1, "ending_column": 2}}}}, {"type": "contract", "name": "ConvexEthMetaStrategy", "source_mapping": {"start": 769, "length": 22879, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622], "starting_column": 1, "ending_column": 2}}], "description": "ConvexEthMetaStrategy._deprecated_ethCoinIndex (contracts/strategies/ConvexEthMetaStrategy.sol#48) is never used in ConvexEthMetaStrategy (contracts/strategies/ConvexEthMetaStrategy.sol#20-622)\n", "markdown": "[ConvexEthMetaStrategy._deprecated_ethCoinIndex](contracts/strategies/ConvexEthMetaStrategy.sol#L48) is never used in [ConvexEthMetaStrategy](contracts/strategies/ConvexEthMetaStrategy.sol#L20-L622)\n", "first_markdown_element": "contracts/strategies/ConvexEthMetaStrategy.sol#L48", "id": "116e62b88711a6bb923cb4eef4fbea98c9c7ddd45bc201a6f569d6f9b150fe60", "check": "unused-state", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "THREEPOOL_ASSET_COUNT", "source_mapping": {"start": 814, "length": 51, "filename_relative": "contracts/strategies/BaseCurveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/BaseCurveStrategy.sol", "filename_short": "contracts/strategies/BaseCurveStrategy.sol", "is_dependency": false, "lines": [22], "starting_column": 5, "ending_column": 56}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseCurveStrategy", "source_mapping": {"start": 536, "length": 11069, "filename_relative": "contracts/strategies/BaseCurveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/BaseCurveStrategy.sol", "filename_short": "contracts/strategies/BaseCurveStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307], "starting_column": 1, "ending_column": 2}}}}, {"type": "contract", "name": "ConvexStrategy", "source_mapping": {"start": 918, "length": 5358, "filename_relative": "contracts/strategies/ConvexStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexStrategy.sol", "filename_short": "contracts/strategies/ConvexStrategy.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165], "starting_column": 1, "ending_column": 2}}], "description": "BaseCurveStrategy.THREEPOOL_ASSET_COUNT (contracts/strategies/BaseCurveStrategy.sol#22) is never used in ConvexStrategy (contracts/strategies/ConvexStrategy.sol#25-165)\n", "markdown": "[BaseCurveStrategy.THREEPOOL_ASSET_COUNT](contracts/strategies/BaseCurveStrategy.sol#L22) is never used in [ConvexStrategy](contracts/strategies/ConvexStrategy.sol#L25-L165)\n", "first_markdown_element": "contracts/strategies/BaseCurveStrategy.sol#L22", "id": "6c2bd4b15055d852aa12dfd95a8d1740df4b29e0b198ce384c4d685dbc2205d4", "check": "unused-state", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "_deprecated_cvxRewardTokenAddress", "source_mapping": {"start": 1173, "length": 49, "filename_relative": "contracts/strategies/ConvexStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexStrategy.sol", "filename_short": "contracts/strategies/ConvexStrategy.sol", "is_dependency": false, "lines": [32], "starting_column": 5, "ending_column": 54}, "type_specific_fields": {"parent": {"type": "contract", "name": "ConvexStrategy", "source_mapping": {"start": 918, "length": 5358, "filename_relative": "contracts/strategies/ConvexStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexStrategy.sol", "filename_short": "contracts/strategies/ConvexStrategy.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165], "starting_column": 1, "ending_column": 2}}}}, {"type": "contract", "name": "ConvexStrategy", "source_mapping": {"start": 918, "length": 5358, "filename_relative": "contracts/strategies/ConvexStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexStrategy.sol", "filename_short": "contracts/strategies/ConvexStrategy.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165], "starting_column": 1, "ending_column": 2}}], "description": "ConvexStrategy._deprecated_cvxRewardTokenAddress (contracts/strategies/ConvexStrategy.sol#32) is never used in ConvexStrategy (contracts/strategies/ConvexStrategy.sol#25-165)\n", "markdown": "[ConvexStrategy._deprecated_cvxRewardTokenAddress](contracts/strategies/ConvexStrategy.sol#L32) is never used in [ConvexStrategy](contracts/strategies/ConvexStrategy.sol#L25-L165)\n", "first_markdown_element": "contracts/strategies/ConvexStrategy.sol#L32", "id": "583ffe934d527c68c0da4bbaa6770a227f6b95cf94f97d7d26275d10736106c2", "check": "unused-state", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "THREEPOOL_ASSET_COUNT", "source_mapping": {"start": 814, "length": 51, "filename_relative": "contracts/strategies/BaseCurveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/BaseCurveStrategy.sol", "filename_short": "contracts/strategies/BaseCurveStrategy.sol", "is_dependency": false, "lines": [22], "starting_column": 5, "ending_column": 56}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseCurveStrategy", "source_mapping": {"start": 536, "length": 11069, "filename_relative": "contracts/strategies/BaseCurveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/BaseCurveStrategy.sol", "filename_short": "contracts/strategies/BaseCurveStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307], "starting_column": 1, "ending_column": 2}}}}, {"type": "contract", "name": "ThreePoolStrategy", "source_mapping": {"start": 907, "length": 4607, "filename_relative": "contracts/strategies/ThreePoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ThreePoolStrategy.sol", "filename_short": "contracts/strategies/ThreePoolStrategy.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147], "starting_column": 1, "ending_column": 2}}], "description": "BaseCurveStrategy.THREEPOOL_ASSET_COUNT (contracts/strategies/BaseCurveStrategy.sol#22) is never used in ThreePoolStrategy (contracts/strategies/ThreePoolStrategy.sol#25-147)\n", "markdown": "[BaseCurveStrategy.THREEPOOL_ASSET_COUNT](contracts/strategies/BaseCurveStrategy.sol#L22) is never used in [ThreePoolStrategy](contracts/strategies/ThreePoolStrategy.sol#L25-L147)\n", "first_markdown_element": "contracts/strategies/BaseCurveStrategy.sol#L22", "id": "8fcb03501694d5d1c66767faeed19b98cf845ca0db7f3b4272ddf86d1285c47d", "check": "unused-state", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "MINT_MINIMUM_UNIT_PRICE", "source_mapping": {"start": 5582, "length": 51, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [138], "starting_column": 5, "ending_column": 56}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 695, "length": 6457, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178], "starting_column": 1, "ending_column": 2}}}}, {"type": "contract", "name": "OETHVault", "source_mapping": {"start": 164, "length": 32, "filename_relative": "contracts/vault/OETHVault.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHVault.sol", "filename_short": "contracts/vault/OETHVault.sol", "is_dependency": false, "lines": [10, 11, 12], "starting_column": 1, "ending_column": 2}}], "description": "VaultStorage.MINT_MINIMUM_UNIT_PRICE (contracts/vault/VaultStorage.sol#138) is never used in OETHVault (contracts/vault/OETHVault.sol#10-12)\n", "markdown": "[VaultStorage.MINT_MINIMUM_UNIT_PRICE](contracts/vault/VaultStorage.sol#L138) is never used in [OETHVault](contracts/vault/OETHVault.sol#L10-L12)\n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L138", "id": "149a5dd32dc4281e6676bc6235d5b98438630b9dd44b947183da6f2539763ef9", "check": "unused-state", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "MIN_UNIT_PRICE_DRIFT", "source_mapping": {"start": 6052, "length": 46, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [149], "starting_column": 5, "ending_column": 51}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 695, "length": 6457, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178], "starting_column": 1, "ending_column": 2}}}}, {"type": "contract", "name": "OETHVault", "source_mapping": {"start": 164, "length": 32, "filename_relative": "contracts/vault/OETHVault.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHVault.sol", "filename_short": "contracts/vault/OETHVault.sol", "is_dependency": false, "lines": [10, 11, 12], "starting_column": 1, "ending_column": 2}}], "description": "VaultStorage.MIN_UNIT_PRICE_DRIFT (contracts/vault/VaultStorage.sol#149) is never used in OETHVault (contracts/vault/OETHVault.sol#10-12)\n", "markdown": "[VaultStorage.MIN_UNIT_PRICE_DRIFT](contracts/vault/VaultStorage.sol#L149) is never used in [OETHVault](contracts/vault/OETHVault.sol#L10-L12)\n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L149", "id": "7f19bc3e2fb9a9561aee099dc073232975619a6c5032b3a61c1645bf58315f67", "check": "unused-state", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "MAX_UNIT_PRICE_DRIFT", "source_mapping": {"start": 6104, "length": 46, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [150], "starting_column": 5, "ending_column": 51}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 695, "length": 6457, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178], "starting_column": 1, "ending_column": 2}}}}, {"type": "contract", "name": "OETHVault", "source_mapping": {"start": 164, "length": 32, "filename_relative": "contracts/vault/OETHVault.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHVault.sol", "filename_short": "contracts/vault/OETHVault.sol", "is_dependency": false, "lines": [10, 11, 12], "starting_column": 1, "ending_column": 2}}], "description": "VaultStorage.MAX_UNIT_PRICE_DRIFT (contracts/vault/VaultStorage.sol#150) is never used in OETHVault (contracts/vault/OETHVault.sol#10-12)\n", "markdown": "[VaultStorage.MAX_UNIT_PRICE_DRIFT](contracts/vault/VaultStorage.sol#L150) is never used in [OETHVault](contracts/vault/OETHVault.sol#L10-L12)\n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L150", "id": "e5390a7816c93ca32a85f9b57349d42579c55c04a3a4ef2b4769d2575a1905bb", "check": "unused-state", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "MINT_MINIMUM_UNIT_PRICE", "source_mapping": {"start": 5582, "length": 51, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [138], "starting_column": 5, "ending_column": 56}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 695, "length": 6457, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178], "starting_column": 1, "ending_column": 2}}}}, {"type": "contract", "name": "OETHVaultAdmin", "source_mapping": {"start": 179, "length": 42, "filename_relative": "contracts/vault/OETHVaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHVaultAdmin.sol", "filename_short": "contracts/vault/OETHVaultAdmin.sol", "is_dependency": false, "lines": [10, 11, 12], "starting_column": 1, "ending_column": 2}}], "description": "VaultStorage.MINT_MINIMUM_UNIT_PRICE (contracts/vault/VaultStorage.sol#138) is never used in OETHVaultAdmin (contracts/vault/OETHVaultAdmin.sol#10-12)\n", "markdown": "[VaultStorage.MINT_MINIMUM_UNIT_PRICE](contracts/vault/VaultStorage.sol#L138) is never used in [OETHVaultAdmin](contracts/vault/OETHVaultAdmin.sol#L10-L12)\n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L138", "id": "bbab6f2a0b738f60095768009071f55614b28ba6b6e5e6a71f67f94ee08c8e4d", "check": "unused-state", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "MIN_UNIT_PRICE_DRIFT", "source_mapping": {"start": 6052, "length": 46, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [149], "starting_column": 5, "ending_column": 51}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 695, "length": 6457, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178], "starting_column": 1, "ending_column": 2}}}}, {"type": "contract", "name": "OETHVaultAdmin", "source_mapping": {"start": 179, "length": 42, "filename_relative": "contracts/vault/OETHVaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHVaultAdmin.sol", "filename_short": "contracts/vault/OETHVaultAdmin.sol", "is_dependency": false, "lines": [10, 11, 12], "starting_column": 1, "ending_column": 2}}], "description": "VaultStorage.MIN_UNIT_PRICE_DRIFT (contracts/vault/VaultStorage.sol#149) is never used in OETHVaultAdmin (contracts/vault/OETHVaultAdmin.sol#10-12)\n", "markdown": "[VaultStorage.MIN_UNIT_PRICE_DRIFT](contracts/vault/VaultStorage.sol#L149) is never used in [OETHVaultAdmin](contracts/vault/OETHVaultAdmin.sol#L10-L12)\n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L149", "id": "94393d439aab1bc281bb45a54cf564b95035d6a7bd2911a0c2ab82805660cbdc", "check": "unused-state", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "MAX_UNIT_PRICE_DRIFT", "source_mapping": {"start": 6104, "length": 46, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [150], "starting_column": 5, "ending_column": 51}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 695, "length": 6457, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178], "starting_column": 1, "ending_column": 2}}}}, {"type": "contract", "name": "OETHVaultAdmin", "source_mapping": {"start": 179, "length": 42, "filename_relative": "contracts/vault/OETHVaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHVaultAdmin.sol", "filename_short": "contracts/vault/OETHVaultAdmin.sol", "is_dependency": false, "lines": [10, 11, 12], "starting_column": 1, "ending_column": 2}}], "description": "VaultStorage.MAX_UNIT_PRICE_DRIFT (contracts/vault/VaultStorage.sol#150) is never used in OETHVaultAdmin (contracts/vault/OETHVaultAdmin.sol#10-12)\n", "markdown": "[VaultStorage.MAX_UNIT_PRICE_DRIFT](contracts/vault/VaultStorage.sol#L150) is never used in [OETHVaultAdmin](contracts/vault/OETHVaultAdmin.sol#L10-L12)\n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L150", "id": "0c56f807a05d376afb6eb2e3300f124c71164a80c1bb85eb40f65da6f9f8a1d2", "check": "unused-state", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "strategies", "source_mapping": {"start": 3271, "length": 48, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [83], "starting_column": 5, "ending_column": 53}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 695, "length": 6457, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178], "starting_column": 1, "ending_column": 2}}}}, {"type": "contract", "name": "OETHVaultCore", "source_mapping": {"start": 176, "length": 40, "filename_relative": "contracts/vault/OETHVaultCore.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHVaultCore.sol", "filename_short": "contracts/vault/OETHVaultCore.sol", "is_dependency": false, "lines": [10, 11, 12], "starting_column": 1, "ending_column": 2}}], "description": "VaultStorage.strategies (contracts/vault/VaultStorage.sol#83) is never used in OETHVaultCore (contracts/vault/OETHVaultCore.sol#10-12)\n", "markdown": "[VaultStorage.strategies](contracts/vault/VaultStorage.sol#L83) is never used in [OETHVaultCore](contracts/vault/OETHVaultCore.sol#L10-L12)\n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L83", "id": "e1cb59e398429820cba9c8fa98f9b6f9bb5766b0248f0efc2355d8a1028187de", "check": "unused-state", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "swapConfig", "source_mapping": {"start": 6552, "length": 58, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [161], "starting_column": 5, "ending_column": 63}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 695, "length": 6457, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178], "starting_column": 1, "ending_column": 2}}}}, {"type": "contract", "name": "OETHVaultCore", "source_mapping": {"start": 176, "length": 40, "filename_relative": "contracts/vault/OETHVaultCore.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHVaultCore.sol", "filename_short": "contracts/vault/OETHVaultCore.sol", "is_dependency": false, "lines": [10, 11, 12], "starting_column": 1, "ending_column": 2}}], "description": "VaultStorage.swapConfig (contracts/vault/VaultStorage.sol#161) is never used in OETHVaultCore (contracts/vault/OETHVaultCore.sol#10-12)\n", "markdown": "[VaultStorage.swapConfig](contracts/vault/VaultStorage.sol#L161) is never used in [OETHVaultCore](contracts/vault/OETHVaultCore.sol#L10-L12)\n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L161", "id": "2f693fe1c1b55189b244c3d2836962822084ed42ba961b3b1a724748878d58d8", "check": "unused-state", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "MAX_UINT", "source_mapping": {"start": 998, "length": 111, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [28, 29], "starting_column": 5, "ending_column": 75}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 788, "length": 27831, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803], "starting_column": 1, "ending_column": 2}}}}, {"type": "contract", "name": "OETHVaultCore", "source_mapping": {"start": 176, "length": 40, "filename_relative": "contracts/vault/OETHVaultCore.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHVaultCore.sol", "filename_short": "contracts/vault/OETHVaultCore.sol", "is_dependency": false, "lines": [10, 11, 12], "starting_column": 1, "ending_column": 2}}], "description": "VaultCore.MAX_UINT (contracts/vault/VaultCore.sol#28-29) is never used in OETHVaultCore (contracts/vault/OETHVaultCore.sol#10-12)\n", "markdown": "[VaultCore.MAX_UINT](contracts/vault/VaultCore.sol#L28-L29) is never used in [OETHVaultCore](contracts/vault/OETHVaultCore.sol#L10-L12)\n", "first_markdown_element": "contracts/vault/VaultCore.sol#L28-L29", "id": "95344e00c1decfbff4303679bb74ce8912b6e6ff165ec7001fd0c3e38aa363c5", "check": "unused-state", "impact": "Informational", "confidence": "High"}, {"elements": [], "description": "Loop condition `i < durations.length` (contracts/staking/SingleAssetStaking.sol#136) should use cached array length instead of referencing `length` member of the storage array.\n ", "markdown": "Loop condition `i < durations.length` (contracts/staking/SingleAssetStaking.sol#136) should use cached array length instead of referencing `length` member of the storage array.\n ", "first_markdown_element": "", "id": "7834824c1cc045ca55ed538b20a5b1d54aa02ad5c6b8b0f8d532f4f64b866017", "check": "cache-array-length", "impact": "Optimization", "confidence": "High"}, {"elements": [], "description": "Loop condition `i < assetsMapped.length` (contracts/strategies/MorphoCompoundStrategy.sol#108) should use cached array length instead of referencing `length` member of the storage array.\n ", "markdown": "Loop condition `i < assetsMapped.length` (contracts/strategies/MorphoCompoundStrategy.sol#108) should use cached array length instead of referencing `length` member of the storage array.\n ", "first_markdown_element": "", "id": "df0279ca5188021414afb9690dcb7a7412b2bbe0fd00a66b25dae68ab562441c", "check": "cache-array-length", "impact": "Optimization", "confidence": "High"}, {"elements": [], "description": "Loop condition `i < assetsMapped.length` (contracts/strategies/MorphoCompoundStrategy.sol#134) should use cached array length instead of referencing `length` member of the storage array.\n ", "markdown": "Loop condition `i < assetsMapped.length` (contracts/strategies/MorphoCompoundStrategy.sol#134) should use cached array length instead of referencing `length` member of the storage array.\n ", "first_markdown_element": "", "id": "e9c46c47b40bf46f415e79c57b6a041e06ef1d603c2581d05607e3f18c833d63", "check": "cache-array-length", "impact": "Optimization", "confidence": "High"}, {"elements": [], "description": "Loop condition `i < assetsMapped.length` (contracts/strategies/BaseCurveStrategy.sol#71) should use cached array length instead of referencing `length` member of the storage array.\n ", "markdown": "Loop condition `i < assetsMapped.length` (contracts/strategies/BaseCurveStrategy.sol#71) should use cached array length instead of referencing `length` member of the storage array.\n ", "first_markdown_element": "", "id": "87dae9f2e8793b2c6216035d1184808cefbc03b8b7770cd5fdcab32f5c88930e", "check": "cache-array-length", "impact": "Optimization", "confidence": "High"}, {"elements": [], "description": "Loop condition `i < assetsMapped.length` (contracts/strategies/AaveStrategy.sol#278) should use cached array length instead of referencing `length` member of the storage array.\n ", "markdown": "Loop condition `i < assetsMapped.length` (contracts/strategies/AaveStrategy.sol#278) should use cached array length instead of referencing `length` member of the storage array.\n ", "first_markdown_element": "", "id": "2a56e903b91517926f149ebe2a16a1f78062b796410716df17fd43d2200685a6", "check": "cache-array-length", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "maxSupplyDiff", "source_mapping": {"start": 5213, "length": 28, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [127], "starting_column": 5, "ending_column": 33}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 695, "length": 6457, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178], "starting_column": 1, "ending_column": 2}}}}], "description": "VaultStorage.maxSupplyDiff (contracts/vault/VaultStorage.sol#127) should be constant \n", "markdown": "[VaultStorage.maxSupplyDiff](contracts/vault/VaultStorage.sol#L127) should be constant \n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L127", "id": "09fd4446efe571b7801efb7877d22557574ea45e2982bf4d5366e0bdf1142249", "check": "constable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "netOusdMintForStrategyThreshold", "source_mapping": {"start": 5995, "length": 50, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [147], "starting_column": 5, "ending_column": 55}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 695, "length": 6457, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178], "starting_column": 1, "ending_column": 2}}}}], "description": "VaultStorage.netOusdMintForStrategyThreshold (contracts/vault/VaultStorage.sol#147) should be constant \n", "markdown": "[VaultStorage.netOusdMintForStrategyThreshold](contracts/vault/VaultStorage.sol#L147) should be constant \n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L147", "id": "bd0e4f67d5f6fb2a9810eb8385684dfcfa6d5febceacff6a21756e0514dc7dd7", "check": "constable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "oUSD", "source_mapping": {"start": 4376, "length": 18, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [106], "starting_column": 5, "ending_column": 23}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 695, "length": 6457, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178], "starting_column": 1, "ending_column": 2}}}}], "description": "VaultStorage.oUSD (contracts/vault/VaultStorage.sol#106) should be constant \n", "markdown": "[VaultStorage.oUSD](contracts/vault/VaultStorage.sol#L106) should be constant \n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L106", "id": "500e8adb38d72426b5e12a19f032430bae7fe79fc3b9039de8e1d2b8043c9f27", "check": "constable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "ousdMetaStrategy", "source_mapping": {"start": 5739, "length": 44, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [141], "starting_column": 5, "ending_column": 49}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 695, "length": 6457, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178], "starting_column": 1, "ending_column": 2}}}}], "description": "VaultStorage.ousdMetaStrategy (contracts/vault/VaultStorage.sol#141) should be constant \n", "markdown": "[VaultStorage.ousdMetaStrategy](contracts/vault/VaultStorage.sol#L141) should be constant \n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L141", "id": "79f67b513634062fa94cfd8c1f0eaac89d45211dbbaf7e930609371ec6e8a4a1", "check": "constable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "strategistAddr", "source_mapping": {"start": 4897, "length": 42, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [120], "starting_column": 5, "ending_column": 47}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 695, "length": 6457, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178], "starting_column": 1, "ending_column": 2}}}}], "description": "VaultStorage.strategistAddr (contracts/vault/VaultStorage.sol#120) should be constant \n", "markdown": "[VaultStorage.strategistAddr](contracts/vault/VaultStorage.sol#L120) should be constant \n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L120", "id": "3040efebbb4c164522cb91db7f6c9c1d2aff4f8ca7753b542e75df9130cdb792", "check": "constable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "trusteeAddress", "source_mapping": {"start": 5320, "length": 29, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [130], "starting_column": 5, "ending_column": 34}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 695, "length": 6457, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178], "starting_column": 1, "ending_column": 2}}}}], "description": "VaultStorage.trusteeAddress (contracts/vault/VaultStorage.sol#130) should be constant \n", "markdown": "[VaultStorage.trusteeAddress](contracts/vault/VaultStorage.sol#L130) should be constant \n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L130", "id": "1694f1d2905ea29eda65443d05da440b7e71abfa3cbf6cfa6a42f6a9ff44e094", "check": "constable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "trusteeFeeBps", "source_mapping": {"start": 5429, "length": 28, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [133], "starting_column": 5, "ending_column": 33}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 695, "length": 6457, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178], "starting_column": 1, "ending_column": 2}}}}], "description": "VaultStorage.trusteeFeeBps (contracts/vault/VaultStorage.sol#133) should be constant \n", "markdown": "[VaultStorage.trusteeFeeBps](contracts/vault/VaultStorage.sol#L133) should be constant \n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L133", "id": "684276aeea9e321f463f752fc69838fd6f7e79e627cb01fe42aff0ff1706283a", "check": "constable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "adjuster", "source_mapping": {"start": 1575, "length": 23, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [43], "starting_column": 5, "ending_column": 28}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompensationClaims", "source_mapping": {"start": 1527, "length": 3674, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164], "starting_column": 1, "ending_column": 2}}}}], "description": "CompensationClaims.adjuster (contracts/compensation/CompensationClaims.sol#43) should be immutable \n", "markdown": "[CompensationClaims.adjuster](contracts/compensation/CompensationClaims.sol#L43) should be immutable \n", "first_markdown_element": "contracts/compensation/CompensationClaims.sol#L43", "id": "6096d2df64fc09f12045506f6c33f0ab738f89c635ce3f9bca28d2993054310f", "check": "immutable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "token", "source_mapping": {"start": 1604, "length": 20, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [44], "starting_column": 5, "ending_column": 25}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompensationClaims", "source_mapping": {"start": 1527, "length": 3674, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164], "starting_column": 1, "ending_column": 2}}}}], "description": "CompensationClaims.token (contracts/compensation/CompensationClaims.sol#44) should be immutable \n", "markdown": "[CompensationClaims.token](contracts/compensation/CompensationClaims.sol#L44) should be immutable \n", "first_markdown_element": "contracts/compensation/CompensationClaims.sol#L44", "id": "8fa24775e2dccefd658d6fc197c9fc4dc75a17bae8289f947b6be9dc53595881", "check": "immutable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "function", "name": "constructor", "source_mapping": {"start": 849, "length": 231, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [24, 25, 26, 27, 28, 29, 30], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OETHZapper", "source_mapping": {"start": 288, "length": 2569, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81], "starting_column": 1, "ending_column": 2}}, "signature": "constructor(address,address)"}}, {"type": "node", "name": "weth.approve(address(_vault),type()(uint256).max)", "source_mapping": {"start": 965, "length": 48, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [28], "starting_column": 9, "ending_column": 57}, "type_specific_fields": {"parent": {"type": "function", "name": "constructor", "source_mapping": {"start": 849, "length": 231, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [24, 25, 26, 27, 28, 29, 30], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OETHZapper", "source_mapping": {"start": 288, "length": 2569, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81], "starting_column": 1, "ending_column": 2}}, "signature": "constructor(address,address)"}}}}], "description": "OETHZapper.constructor(address,address) (contracts/vault/OETHZapper.sol#24-30) ignores return value by weth.approve(address(_vault),type()(uint256).max) (contracts/vault/OETHZapper.sol#28)\n", "markdown": "[OETHZapper.constructor(address,address)](contracts/vault/OETHZapper.sol#L24-L30) ignores return value by [weth.approve(address(_vault),type()(uint256).max)](contracts/vault/OETHZapper.sol#L28)\n", "first_markdown_element": "contracts/vault/OETHZapper.sol#L24-L30", "id": "460275d8e7852760f596536253db6ec4738ca77745d9b5a38a289cbde2d9384c", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "constructor", "source_mapping": {"start": 849, "length": 231, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [24, 25, 26, 27, 28, 29, 30], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OETHZapper", "source_mapping": {"start": 288, "length": 2569, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81], "starting_column": 1, "ending_column": 2}}, "signature": "constructor(address,address)"}}, {"type": "node", "name": "frxeth.approve(address(_vault),type()(uint256).max)", "source_mapping": {"start": 1023, "length": 50, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [29], "starting_column": 9, "ending_column": 59}, "type_specific_fields": {"parent": {"type": "function", "name": "constructor", "source_mapping": {"start": 849, "length": 231, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [24, 25, 26, 27, 28, 29, 30], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OETHZapper", "source_mapping": {"start": 288, "length": 2569, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81], "starting_column": 1, "ending_column": 2}}, "signature": "constructor(address,address)"}}}}], "description": "OETHZapper.constructor(address,address) (contracts/vault/OETHZapper.sol#24-30) ignores return value by frxeth.approve(address(_vault),type()(uint256).max) (contracts/vault/OETHZapper.sol#29)\n", "markdown": "[OETHZapper.constructor(address,address)](contracts/vault/OETHZapper.sol#L24-L30) ignores return value by [frxeth.approve(address(_vault),type()(uint256).max)](contracts/vault/OETHZapper.sol#L29)\n", "first_markdown_element": "contracts/vault/OETHZapper.sol#L24-L30", "id": "602e23c82c5e4d9f8dc3e9ee61327d4e9d8fb09d886a291dc7f89562e7ac7586", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "depositSFRXETH", "source_mapping": {"start": 1917, "length": 274, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [58, 59, 60, 61, 62, 63, 64, 65], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OETHZapper", "source_mapping": {"start": 288, "length": 2569, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81], "starting_column": 1, "ending_column": 2}}, "signature": "depositSFRXETH(uint256,uint256)"}}, {"type": "node", "name": "sfrxeth.redeem(amount,address(this),msg.sender)", "source_mapping": {"start": 2031, "length": 49, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [62], "starting_column": 9, "ending_column": 58}, "type_specific_fields": {"parent": {"type": "function", "name": "depositSFRXETH", "source_mapping": {"start": 1917, "length": 274, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [58, 59, 60, 61, 62, 63, 64, 65], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OETHZapper", "source_mapping": {"start": 288, "length": 2569, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81], "starting_column": 1, "ending_column": 2}}, "signature": "depositSFRXETH(uint256,uint256)"}}}}], "description": "OETHZapper.depositSFRXETH(uint256,uint256) (contracts/vault/OETHZapper.sol#58-65) ignores return value by sfrxeth.redeem(amount,address(this),msg.sender) (contracts/vault/OETHZapper.sol#62)\n", "markdown": "[OETHZapper.depositSFRXETH(uint256,uint256)](contracts/vault/OETHZapper.sol#L58-L65) ignores return value by [sfrxeth.redeem(amount,address(this),msg.sender)](contracts/vault/OETHZapper.sol#L62)\n", "first_markdown_element": "contracts/vault/OETHZapper.sol#L58-L65", "id": "ad9cb44f03282639ae56103acb1e9e5014d0d451f5dcb7d2184c1b6c13d855f2", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "constructor", "source_mapping": {"start": 782, "length": 231, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OETHZapper", "source_mapping": {"start": 288, "length": 1735, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57], "starting_column": 1, "ending_column": 2}}, "signature": "constructor(address,address)"}}, {"type": "node", "name": "weth.approve(address(_vault),type()(uint256).max)", "source_mapping": {"start": 898, "length": 48, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [25], "starting_column": 9, "ending_column": 57}, "type_specific_fields": {"parent": {"type": "function", "name": "constructor", "source_mapping": {"start": 782, "length": 231, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OETHZapper", "source_mapping": {"start": 288, "length": 1735, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57], "starting_column": 1, "ending_column": 2}}, "signature": "constructor(address,address)"}}}}], "description": "OETHZapper.constructor(address,address) (contracts/vault/OETHZapper.sol#21-27) ignores return value by weth.approve(address(_vault),type()(uint256).max) (contracts/vault/OETHZapper.sol#25)\n", "markdown": "[OETHZapper.constructor(address,address)](contracts/vault/OETHZapper.sol#L21-L27) ignores return value by [weth.approve(address(_vault),type()(uint256).max)](contracts/vault/OETHZapper.sol#L25)\n", "first_markdown_element": "contracts/vault/OETHZapper.sol#L21-L27", "id": "2904e03fb2afa9650ab71131640fe730dd3c271bfbb0fd4e11b13f0169ac5cdd", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "constructor", "source_mapping": {"start": 782, "length": 231, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OETHZapper", "source_mapping": {"start": 288, "length": 1735, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57], "starting_column": 1, "ending_column": 2}}, "signature": "constructor(address,address)"}}, {"type": "node", "name": "frxeth.approve(address(_vault),type()(uint256).max)", "source_mapping": {"start": 956, "length": 50, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [26], "starting_column": 9, "ending_column": 59}, "type_specific_fields": {"parent": {"type": "function", "name": "constructor", "source_mapping": {"start": 782, "length": 231, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OETHZapper", "source_mapping": {"start": 288, "length": 1735, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57], "starting_column": 1, "ending_column": 2}}, "signature": "constructor(address,address)"}}}}], "description": "OETHZapper.constructor(address,address) (contracts/vault/OETHZapper.sol#21-27) ignores return value by frxeth.approve(address(_vault),type()(uint256).max) (contracts/vault/OETHZapper.sol#26)\n", "markdown": "[OETHZapper.constructor(address,address)](contracts/vault/OETHZapper.sol#L21-L27) ignores return value by [frxeth.approve(address(_vault),type()(uint256).max)](contracts/vault/OETHZapper.sol#L26)\n", "first_markdown_element": "contracts/vault/OETHZapper.sol#L21-L27", "id": "15b258e120fd421efd1ea15d8572ec122239b4431c578c7cc72318a969319597", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "depositSFRXETH", "source_mapping": {"start": 1331, "length": 274, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [40, 41, 42, 43, 44, 45, 46, 47], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OETHZapper", "source_mapping": {"start": 288, "length": 1735, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57], "starting_column": 1, "ending_column": 2}}, "signature": "depositSFRXETH(uint256,uint256)"}}, {"type": "node", "name": "sfrxeth.redeem(amount,address(this),msg.sender)", "source_mapping": {"start": 1445, "length": 49, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [44], "starting_column": 9, "ending_column": 58}, "type_specific_fields": {"parent": {"type": "function", "name": "depositSFRXETH", "source_mapping": {"start": 1331, "length": 274, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [40, 41, 42, 43, 44, 45, 46, 47], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OETHZapper", "source_mapping": {"start": 288, "length": 1735, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57], "starting_column": 1, "ending_column": 2}}, "signature": "depositSFRXETH(uint256,uint256)"}}}}], "description": "OETHZapper.depositSFRXETH(uint256,uint256) (contracts/vault/OETHZapper.sol#40-47) ignores return value by sfrxeth.redeem(amount,address(this),msg.sender) (contracts/vault/OETHZapper.sol#44)\n", "markdown": "[OETHZapper.depositSFRXETH(uint256,uint256)](contracts/vault/OETHZapper.sol#L40-L47) ignores return value by [sfrxeth.redeem(amount,address(this),msg.sender)](contracts/vault/OETHZapper.sol#L44)\n", "first_markdown_element": "contracts/vault/OETHZapper.sol#L40-L47", "id": "3246dfb4384082977afe4b276459e86813a51a7fe4df6333e08dee5ee1b03c0c", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "assets", "source_mapping": {"start": 2394, "length": 41, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [61], "starting_column": 5, "ending_column": 46}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 828, "length": 4640, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146], "starting_column": 1, "ending_column": 2}}}}, {"type": "function", "name": "mint", "source_mapping": {"start": 2178, "length": 1436, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "mint(address,uint256,uint256)"}}, {"type": "function", "name": "isSupportedAsset", "source_mapping": {"start": 22648, "length": 121, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [627, 628, 629], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "isSupportedAsset(address)"}}, {"type": "function", "name": "_toUnits", "source_mapping": {"start": 23346, "length": 597, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "_toUnits(uint256,address)"}}, {"type": "function", "name": "_toUnitPrice", "source_mapping": {"start": 23949, "length": 573, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "_toUnitPrice(uint256,address)"}}], "description": "VaultStorage.assets (contracts/vault/VaultStorage.sol#61) is never initialized. It is used in:\n\t- VaultCore.mint(address,uint256,uint256) (contracts/vault/VaultCore.sol#66-107)\n\t- VaultCore.isSupportedAsset(address) (contracts/vault/VaultCore.sol#627-629)\n\t- VaultCore._toUnits(uint256,address) (contracts/vault/VaultCore.sol#646-661)\n\t- VaultCore._toUnitPrice(uint256,address) (contracts/vault/VaultCore.sol#663-678)\n", "markdown": "[VaultStorage.assets](contracts/vault/VaultStorage.sol#L61) is never initialized. It is used in:\n\t- [VaultCore.mint(address,uint256,uint256)](contracts/vault/VaultCore.sol#L66-L107)\n\t- [VaultCore.isSupportedAsset(address)](contracts/vault/VaultCore.sol#L627-L629)\n\t- [VaultCore._toUnits(uint256,address)](contracts/vault/VaultCore.sol#L646-L661)\n\t- [VaultCore._toUnitPrice(uint256,address)](contracts/vault/VaultCore.sol#L663-L678)\n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L61", "id": "c860938e159ea26b593c250740cbaa2024ab5c9ac0d6205f97e9af6dac87675f", "check": "uninitialized-state", "impact": "High", "confidence": "High"}, {"elements": [{"type": "variable", "name": "allAssets", "source_mapping": {"start": 2441, "length": 28, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [62], "starting_column": 5, "ending_column": 33}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 828, "length": 4640, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146], "starting_column": 1, "ending_column": 2}}}}, {"type": "function", "name": "_redeem", "source_mapping": {"start": 5763, "length": 2485, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "_redeem(uint256,uint256)"}}, {"type": "function", "name": "_allocate", "source_mapping": {"start": 10672, "length": 2860, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "_allocate()"}}, {"type": "function", "name": "_totalValueInVault", "source_mapping": {"start": 15676, "length": 356, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [432, 433, 434, 435, 436, 437, 438, 439, 440], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "_totalValueInVault()"}}, {"type": "function", "name": "_totalValueInStrategy", "source_mapping": {"start": 16603, "length": 505, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "_totalValueInStrategy(address)"}}, {"type": "function", "name": "_calculateRedeemOutputs", "source_mapping": {"start": 18727, "length": 3082, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "_calculateRedeemOutputs(uint256)"}}, {"type": "function", "name": "getAssetCount", "source_mapping": {"start": 22013, "length": 95, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [602, 603, 604], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "getAssetCount()"}}, {"type": "function", "name": "getAllAssets", "source_mapping": {"start": 22178, "length": 98, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [609, 610, 611], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "getAllAssets()"}}], "description": "VaultStorage.allAssets (contracts/vault/VaultStorage.sol#62) is never initialized. It is used in:\n\t- VaultCore._redeem(uint256,uint256) (contracts/vault/VaultCore.sol#169-233)\n\t- VaultCore._allocate() (contracts/vault/VaultCore.sol#301-369)\n\t- VaultCore._totalValueInVault() (contracts/vault/VaultCore.sol#432-440)\n\t- VaultCore._totalValueInStrategy(address) (contracts/vault/VaultCore.sol#457-471)\n\t- VaultCore._calculateRedeemOutputs(uint256) (contracts/vault/VaultCore.sol#522-593)\n\t- VaultCore.getAssetCount() (contracts/vault/VaultCore.sol#602-604)\n\t- VaultCore.getAllAssets() (contracts/vault/VaultCore.sol#609-611)\n", "markdown": "[VaultStorage.allAssets](contracts/vault/VaultStorage.sol#L62) is never initialized. It is used in:\n\t- [VaultCore._redeem(uint256,uint256)](contracts/vault/VaultCore.sol#L169-L233)\n\t- [VaultCore._allocate()](contracts/vault/VaultCore.sol#L301-L369)\n\t- [VaultCore._totalValueInVault()](contracts/vault/VaultCore.sol#L432-L440)\n\t- [VaultCore._totalValueInStrategy(address)](contracts/vault/VaultCore.sol#L457-L471)\n\t- [VaultCore._calculateRedeemOutputs(uint256)](contracts/vault/VaultCore.sol#L522-L593)\n\t- [VaultCore.getAssetCount()](contracts/vault/VaultCore.sol#L602-L604)\n\t- [VaultCore.getAllAssets()](contracts/vault/VaultCore.sol#L609-L611)\n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L62", "id": "e730fe429679f7811e61698e718568e8a56bd48136d661a5573f979234e6996c", "check": "uninitialized-state", "impact": "High", "confidence": "High"}, {"elements": [{"type": "variable", "name": "allStrategies", "source_mapping": {"start": 2688, "length": 32, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [70], "starting_column": 5, "ending_column": 37}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 828, "length": 4640, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146], "starting_column": 1, "ending_column": 2}}}}, {"type": "function", "name": "_totalValueInStrategies", "source_mapping": {"start": 16181, "length": 223, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [446, 447, 448, 449, 450], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "_totalValueInStrategies()"}}, {"type": "function", "name": "_checkBalance", "source_mapping": {"start": 17619, "length": 486, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "_checkBalance(address)"}}, {"type": "function", "name": "getStrategyCount", "source_mapping": {"start": 22363, "length": 104, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [616, 617, 618], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "getStrategyCount()"}}, {"type": "function", "name": "getAllStrategies", "source_mapping": {"start": 22536, "length": 106, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [623, 624, 625], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "getAllStrategies()"}}], "description": "VaultStorage.allStrategies (contracts/vault/VaultStorage.sol#70) is never initialized. It is used in:\n\t- VaultCore._totalValueInStrategies() (contracts/vault/VaultCore.sol#446-450)\n\t- VaultCore._checkBalance(address) (contracts/vault/VaultCore.sol#487-501)\n\t- VaultCore.getStrategyCount() (contracts/vault/VaultCore.sol#616-618)\n\t- VaultCore.getAllStrategies() (contracts/vault/VaultCore.sol#623-625)\n", "markdown": "[VaultStorage.allStrategies](contracts/vault/VaultStorage.sol#L70) is never initialized. It is used in:\n\t- [VaultCore._totalValueInStrategies()](contracts/vault/VaultCore.sol#L446-L450)\n\t- [VaultCore._checkBalance(address)](contracts/vault/VaultCore.sol#L487-L501)\n\t- [VaultCore.getStrategyCount()](contracts/vault/VaultCore.sol#L616-L618)\n\t- [VaultCore.getAllStrategies()](contracts/vault/VaultCore.sol#L623-L625)\n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L70", "id": "777cbcb013e313a3fd0021436d35e92824a94e210c1611ee051fc5d399d6661c", "check": "uninitialized-state", "impact": "High", "confidence": "High"}, {"elements": [{"type": "variable", "name": "priceProvider", "source_mapping": {"start": 2780, "length": 28, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [73], "starting_column": 5, "ending_column": 33}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 828, "length": 4640, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146], "starting_column": 1, "ending_column": 2}}}}, {"type": "function", "name": "mint", "source_mapping": {"start": 2178, "length": 1436, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "mint(address,uint256,uint256)"}}, {"type": "function", "name": "_calculateRedeemOutputs", "source_mapping": {"start": 18727, "length": 3082, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "_calculateRedeemOutputs(uint256)"}}], "description": "VaultStorage.priceProvider (contracts/vault/VaultStorage.sol#73) is never initialized. It is used in:\n\t- VaultCore.mint(address,uint256,uint256) (contracts/vault/VaultCore.sol#66-107)\n\t- VaultCore._calculateRedeemOutputs(uint256) (contracts/vault/VaultCore.sol#522-593)\n", "markdown": "[VaultStorage.priceProvider](contracts/vault/VaultStorage.sol#L73) is never initialized. It is used in:\n\t- [VaultCore.mint(address,uint256,uint256)](contracts/vault/VaultCore.sol#L66-L107)\n\t- [VaultCore._calculateRedeemOutputs(uint256)](contracts/vault/VaultCore.sol#L522-L593)\n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L73", "id": "eb7c2db1064787af6f239823c6b9223ba83a523396f8c7dc61c479282af97886", "check": "uninitialized-state", "impact": "High", "confidence": "High"}, {"elements": [{"type": "variable", "name": "redeemFeeBps", "source_mapping": {"start": 2949, "length": 27, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [78], "starting_column": 5, "ending_column": 32}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 828, "length": 4640, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146], "starting_column": 1, "ending_column": 2}}}}, {"type": "function", "name": "_calculateRedeemOutputs", "source_mapping": {"start": 18727, "length": 3082, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "_calculateRedeemOutputs(uint256)"}}], "description": "VaultStorage.redeemFeeBps (contracts/vault/VaultStorage.sol#78) is never initialized. It is used in:\n\t- VaultCore._calculateRedeemOutputs(uint256) (contracts/vault/VaultCore.sol#522-593)\n", "markdown": "[VaultStorage.redeemFeeBps](contracts/vault/VaultStorage.sol#L78) is never initialized. It is used in:\n\t- [VaultCore._calculateRedeemOutputs(uint256)](contracts/vault/VaultCore.sol#L522-L593)\n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L78", "id": "c4819c8bb26576b24a1992a0ece73900c1b258ae9f166389ef2521f675df5cb1", "check": "uninitialized-state", "impact": "High", "confidence": "High"}, {"elements": [{"type": "variable", "name": "vaultBuffer", "source_mapping": {"start": 3052, "length": 26, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [80], "starting_column": 5, "ending_column": 31}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 828, "length": 4640, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146], "starting_column": 1, "ending_column": 2}}}}, {"type": "function", "name": "_allocate", "source_mapping": {"start": 10672, "length": 2860, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "_allocate()"}}], "description": "VaultStorage.vaultBuffer (contracts/vault/VaultStorage.sol#80) is never initialized. It is used in:\n\t- VaultCore._allocate() (contracts/vault/VaultCore.sol#301-369)\n", "markdown": "[VaultStorage.vaultBuffer](contracts/vault/VaultStorage.sol#L80) is never initialized. It is used in:\n\t- [VaultCore._allocate()](contracts/vault/VaultCore.sol#L301-L369)\n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L80", "id": "7147ba0fbcdb532f72f8a1425c5779a2caf2d432ef22a51a9c541b90d6da121c", "check": "uninitialized-state", "impact": "High", "confidence": "High"}, {"elements": [{"type": "variable", "name": "autoAllocateThreshold", "source_mapping": {"start": 3157, "length": 36, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [82], "starting_column": 5, "ending_column": 41}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 828, "length": 4640, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146], "starting_column": 1, "ending_column": 2}}}}, {"type": "function", "name": "mint", "source_mapping": {"start": 2178, "length": 1436, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "mint(address,uint256,uint256)"}}], "description": "VaultStorage.autoAllocateThreshold (contracts/vault/VaultStorage.sol#82) is never initialized. It is used in:\n\t- VaultCore.mint(address,uint256,uint256) (contracts/vault/VaultCore.sol#66-107)\n", "markdown": "[VaultStorage.autoAllocateThreshold](contracts/vault/VaultStorage.sol#L82) is never initialized. It is used in:\n\t- [VaultCore.mint(address,uint256,uint256)](contracts/vault/VaultCore.sol#L66-L107)\n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L82", "id": "3d9c26c30d04bc19d1bc2436186d32a82dbdee2c98be4833dff1f7fefa80858d", "check": "uninitialized-state", "impact": "High", "confidence": "High"}, {"elements": [{"type": "variable", "name": "rebaseThreshold", "source_mapping": {"start": 3264, "length": 30, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [84], "starting_column": 5, "ending_column": 35}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 828, "length": 4640, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146], "starting_column": 1, "ending_column": 2}}}}, {"type": "function", "name": "mint", "source_mapping": {"start": 2178, "length": 1436, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "mint(address,uint256,uint256)"}}, {"type": "function", "name": "mintForStrategy", "source_mapping": {"start": 4345, "length": 813, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "mintForStrategy(uint256)"}}, {"type": "function", "name": "_redeem", "source_mapping": {"start": 5763, "length": 2485, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "_redeem(uint256,uint256)"}}, {"type": "function", "name": "burnForStrategy", "source_mapping": {"start": 8974, "length": 951, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "burnForStrategy(uint256)"}}], "description": "VaultStorage.rebaseThreshold (contracts/vault/VaultStorage.sol#84) is never initialized. It is used in:\n\t- VaultCore.mint(address,uint256,uint256) (contracts/vault/VaultCore.sol#66-107)\n\t- VaultCore.mintForStrategy(uint256) (contracts/vault/VaultCore.sol#122-147)\n\t- VaultCore._redeem(uint256,uint256) (contracts/vault/VaultCore.sol#169-233)\n\t- VaultCore.burnForStrategy(uint256) (contracts/vault/VaultCore.sol#248-275)\n", "markdown": "[VaultStorage.rebaseThreshold](contracts/vault/VaultStorage.sol#L84) is never initialized. It is used in:\n\t- [VaultCore.mint(address,uint256,uint256)](contracts/vault/VaultCore.sol#L66-L107)\n\t- [VaultCore.mintForStrategy(uint256)](contracts/vault/VaultCore.sol#L122-L147)\n\t- [VaultCore._redeem(uint256,uint256)](contracts/vault/VaultCore.sol#L169-L233)\n\t- [VaultCore.burnForStrategy(uint256)](contracts/vault/VaultCore.sol#L248-L275)\n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L84", "id": "b8efcc08277c777ff50a11fc931031018cad1a54978f03183217cd13dd183093", "check": "uninitialized-state", "impact": "High", "confidence": "High"}, {"elements": [{"type": "variable", "name": "oUSD", "source_mapping": {"start": 3301, "length": 18, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [86], "starting_column": 5, "ending_column": 23}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 828, "length": 4640, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146], "starting_column": 1, "ending_column": 2}}}}, {"type": "function", "name": "mint", "source_mapping": {"start": 2178, "length": 1436, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "mint(address,uint256,uint256)"}}, {"type": "function", "name": "mintForStrategy", "source_mapping": {"start": 4345, "length": 813, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "mintForStrategy(uint256)"}}, {"type": "function", "name": "_redeem", "source_mapping": {"start": 5763, "length": 2485, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "_redeem(uint256,uint256)"}}, {"type": "function", "name": "burnForStrategy", "source_mapping": {"start": 8974, "length": 951, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "burnForStrategy(uint256)"}}, {"type": "function", "name": "redeemAll", "source_mapping": {"start": 10087, "length": 190, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [281, 282, 283, 284, 285, 286, 287], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "redeemAll(uint256)"}}, {"type": "function", "name": "_rebase", "source_mapping": {"start": 13976, "length": 953, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [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], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "_rebase()"}}], "description": "VaultStorage.oUSD (contracts/vault/VaultStorage.sol#86) is never initialized. It is used in:\n\t- VaultCore.mint(address,uint256,uint256) (contracts/vault/VaultCore.sol#66-107)\n\t- VaultCore.mintForStrategy(uint256) (contracts/vault/VaultCore.sol#122-147)\n\t- VaultCore._redeem(uint256,uint256) (contracts/vault/VaultCore.sol#169-233)\n\t- VaultCore.burnForStrategy(uint256) (contracts/vault/VaultCore.sol#248-275)\n\t- VaultCore.redeemAll(uint256) (contracts/vault/VaultCore.sol#281-287)\n\t- VaultCore._rebase() (contracts/vault/VaultCore.sol#384-408)\n", "markdown": "[VaultStorage.oUSD](contracts/vault/VaultStorage.sol#L86) is never initialized. It is used in:\n\t- [VaultCore.mint(address,uint256,uint256)](contracts/vault/VaultCore.sol#L66-L107)\n\t- [VaultCore.mintForStrategy(uint256)](contracts/vault/VaultCore.sol#L122-L147)\n\t- [VaultCore._redeem(uint256,uint256)](contracts/vault/VaultCore.sol#L169-L233)\n\t- [VaultCore.burnForStrategy(uint256)](contracts/vault/VaultCore.sol#L248-L275)\n\t- [VaultCore.redeemAll(uint256)](contracts/vault/VaultCore.sol#L281-L287)\n\t- [VaultCore._rebase()](contracts/vault/VaultCore.sol#L384-L408)\n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L86", "id": "df26918b8bdd621ec118d2015bb8578817d734b6d3c33937967b164cadc2ace0", "check": "uninitialized-state", "impact": "High", "confidence": "High"}, {"elements": [{"type": "variable", "name": "maxSupplyDiff", "source_mapping": {"start": 4028, "length": 28, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [106], "starting_column": 5, "ending_column": 33}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 828, "length": 4640, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146], "starting_column": 1, "ending_column": 2}}}}, {"type": "function", "name": "_redeem", "source_mapping": {"start": 5763, "length": 2485, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "_redeem(uint256,uint256)"}}], "description": "VaultStorage.maxSupplyDiff (contracts/vault/VaultStorage.sol#106) is never initialized. It is used in:\n\t- VaultCore._redeem(uint256,uint256) (contracts/vault/VaultCore.sol#169-233)\n", "markdown": "[VaultStorage.maxSupplyDiff](contracts/vault/VaultStorage.sol#L106) is never initialized. It is used in:\n\t- [VaultCore._redeem(uint256,uint256)](contracts/vault/VaultCore.sol#L169-L233)\n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L106", "id": "6a3430804bec9d029a57ae03c02e8a40c310203865799000bf50016777b36f8f", "check": "uninitialized-state", "impact": "High", "confidence": "High"}, {"elements": [{"type": "variable", "name": "decimalsCache", "source_mapping": {"start": 4736, "length": 50, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [124], "starting_column": 5, "ending_column": 55}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 828, "length": 4497, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141], "starting_column": 1, "ending_column": 2}}}}, {"type": "function", "name": "_getDecimals", "source_mapping": {"start": 23780, "length": 204, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [668, 669, 670, 671, 672], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 987, "length": 24439, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717], "starting_column": 1, "ending_column": 2}}, "signature": "_getDecimals(address)"}}], "description": "VaultStorage.decimalsCache (contracts/vault/VaultStorage.sol#124) is never initialized. It is used in:\n\t- VaultCore._getDecimals(address) (contracts/vault/VaultCore.sol#668-672)\n", "markdown": "[VaultStorage.decimalsCache](contracts/vault/VaultStorage.sol#L124) is never initialized. It is used in:\n\t- [VaultCore._getDecimals(address)](contracts/vault/VaultCore.sol#L668-L672)\n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L124", "id": "ae957b4f96eb11ddea5ee4d030d41472ceee6954f34cde52618144ab869fa8c3", "check": "uninitialized-state", "impact": "High", "confidence": "High"}, {"elements": [{"type": "variable", "name": "assets", "source_mapping": {"start": 2283, "length": 41, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [57], "starting_column": 5, "ending_column": 46}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 828, "length": 3795, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126], "starting_column": 1, "ending_column": 2}}}}, {"type": "function", "name": "mint", "source_mapping": {"start": 1716, "length": 1511, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 874, "length": 22316, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639], "starting_column": 1, "ending_column": 2}}, "signature": "mint(address,uint256,uint256)"}}, {"type": "function", "name": "isSupportedAsset", "source_mapping": {"start": 21910, "length": 121, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [599, 600, 601], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 874, "length": 22316, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639], "starting_column": 1, "ending_column": 2}}, "signature": "isSupportedAsset(address)"}}], "description": "VaultStorage.assets (contracts/vault/VaultStorage.sol#57) is never initialized. It is used in:\n\t- VaultCore.mint(address,uint256,uint256) (contracts/vault/VaultCore.sol#53-97)\n\t- VaultCore.isSupportedAsset(address) (contracts/vault/VaultCore.sol#599-601)\n", "markdown": "[VaultStorage.assets](contracts/vault/VaultStorage.sol#L57) is never initialized. It is used in:\n\t- [VaultCore.mint(address,uint256,uint256)](contracts/vault/VaultCore.sol#L53-L97)\n\t- [VaultCore.isSupportedAsset(address)](contracts/vault/VaultCore.sol#L599-L601)\n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L57", "id": "6a182c24e91d1dd53b0b1ef0dab5f77981ebaf050bd25c19b9cca70afaf18e67", "check": "uninitialized-state", "impact": "High", "confidence": "High"}, {"elements": [{"type": "variable", "name": "_decimals", "source_mapping": {"start": 393, "length": 23, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_relative": "contracts/token/OUSDResolutionUpgrade.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_short": "contracts/token/OUSDResolutionUpgrade.sol", "is_dependency": false, "lines": [19], "starting_column": 5, "ending_column": 28}, "type_specific_fields": {"parent": {"type": "contract", "name": "OUSDResolutionUpgrade", "source_mapping": {"start": 25, "length": 4062, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_relative": "contracts/token/OUSDResolutionUpgrade.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_short": "contracts/token/OUSDResolutionUpgrade.sol", "is_dependency": false, "lines": [3, 4, 5, 6, 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, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130], "starting_column": 1, "ending_column": 2}}}}], "description": "OUSDResolutionUpgrade._decimals (contracts/token/OUSDResolutionUpgrade.sol#19) should be constant\n", "markdown": "[OUSDResolutionUpgrade._decimals](contracts/token/OUSDResolutionUpgrade.sol#L19) should be constant\n", "first_markdown_element": "contracts/token/OUSDResolutionUpgrade.sol#L19", "id": "c6b2c8888913a809e3344ed0dee21191412ae3601896db9c573f735f6c3d7a8a", "check": "constable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "_name", "source_mapping": {"start": 339, "length": 20, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_relative": "contracts/token/OUSDResolutionUpgrade.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_short": "contracts/token/OUSDResolutionUpgrade.sol", "is_dependency": false, "lines": [17], "starting_column": 5, "ending_column": 25}, "type_specific_fields": {"parent": {"type": "contract", "name": "OUSDResolutionUpgrade", "source_mapping": {"start": 25, "length": 4062, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_relative": "contracts/token/OUSDResolutionUpgrade.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_short": "contracts/token/OUSDResolutionUpgrade.sol", "is_dependency": false, "lines": [3, 4, 5, 6, 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, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130], "starting_column": 1, "ending_column": 2}}}}], "description": "OUSDResolutionUpgrade._name (contracts/token/OUSDResolutionUpgrade.sol#17) should be constant\n", "markdown": "[OUSDResolutionUpgrade._name](contracts/token/OUSDResolutionUpgrade.sol#L17) should be constant\n", "first_markdown_element": "contracts/token/OUSDResolutionUpgrade.sol#L17", "id": "6956191c111bc7668de81941132c1a31576d2af9cfae5034646c97388cdec653", "check": "constable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "_symbol", "source_mapping": {"start": 365, "length": 22, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_relative": "contracts/token/OUSDResolutionUpgrade.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_short": "contracts/token/OUSDResolutionUpgrade.sol", "is_dependency": false, "lines": [18], "starting_column": 5, "ending_column": 27}, "type_specific_fields": {"parent": {"type": "contract", "name": "OUSDResolutionUpgrade", "source_mapping": {"start": 25, "length": 4062, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_relative": "contracts/token/OUSDResolutionUpgrade.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_short": "contracts/token/OUSDResolutionUpgrade.sol", "is_dependency": false, "lines": [3, 4, 5, 6, 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, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130], "starting_column": 1, "ending_column": 2}}}}], "description": "OUSDResolutionUpgrade._symbol (contracts/token/OUSDResolutionUpgrade.sol#18) should be constant\n", "markdown": "[OUSDResolutionUpgrade._symbol](contracts/token/OUSDResolutionUpgrade.sol#L18) should be constant\n", "first_markdown_element": "contracts/token/OUSDResolutionUpgrade.sol#L18", "id": "4a6b27b5189d0409bd8717ec6416071376f25ba75d9a3fcb2c617036aa554257", "check": "constable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "_totalSupply", "source_mapping": {"start": 510, "length": 27, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_relative": "contracts/token/OUSDResolutionUpgrade.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_short": "contracts/token/OUSDResolutionUpgrade.sol", "is_dependency": false, "lines": [23], "starting_column": 5, "ending_column": 32}, "type_specific_fields": {"parent": {"type": "contract", "name": "OUSDResolutionUpgrade", "source_mapping": {"start": 25, "length": 4062, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_relative": "contracts/token/OUSDResolutionUpgrade.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_short": "contracts/token/OUSDResolutionUpgrade.sol", "is_dependency": false, "lines": [3, 4, 5, 6, 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, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130], "starting_column": 1, "ending_column": 2}}}}], "description": "OUSDResolutionUpgrade._totalSupply (contracts/token/OUSDResolutionUpgrade.sol#23) should be constant\n", "markdown": "[OUSDResolutionUpgrade._totalSupply](contracts/token/OUSDResolutionUpgrade.sol#L23) should be constant\n", "first_markdown_element": "contracts/token/OUSDResolutionUpgrade.sol#L23", "id": "1658e506f1e0828cb824d099c91bb2a569de15dbd05bdc7f11b98a69a98f8638", "check": "constable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "initialized", "source_mapping": {"start": 166, "length": 24, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_relative": "contracts/token/OUSDResolutionUpgrade.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_short": "contracts/token/OUSDResolutionUpgrade.sol", "is_dependency": false, "lines": [11], "starting_column": 5, "ending_column": 29}, "type_specific_fields": {"parent": {"type": "contract", "name": "OUSDResolutionUpgrade", "source_mapping": {"start": 25, "length": 4062, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_relative": "contracts/token/OUSDResolutionUpgrade.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_short": "contracts/token/OUSDResolutionUpgrade.sol", "is_dependency": false, "lines": [3, 4, 5, 6, 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, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130], "starting_column": 1, "ending_column": 2}}}}], "description": "OUSDResolutionUpgrade.initialized (contracts/token/OUSDResolutionUpgrade.sol#11) should be constant\n", "markdown": "[OUSDResolutionUpgrade.initialized](contracts/token/OUSDResolutionUpgrade.sol#L11) should be constant\n", "first_markdown_element": "contracts/token/OUSDResolutionUpgrade.sol#L11", "id": "fefc27aa7f63a8fb938914b29bdf6913ea43894d2297e65bc64c63cf5cf82af9", "check": "constable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "initializing", "source_mapping": {"start": 196, "length": 25, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_relative": "contracts/token/OUSDResolutionUpgrade.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_short": "contracts/token/OUSDResolutionUpgrade.sol", "is_dependency": false, "lines": [12], "starting_column": 5, "ending_column": 30}, "type_specific_fields": {"parent": {"type": "contract", "name": "OUSDResolutionUpgrade", "source_mapping": {"start": 25, "length": 4062, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_relative": "contracts/token/OUSDResolutionUpgrade.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_short": "contracts/token/OUSDResolutionUpgrade.sol", "is_dependency": false, "lines": [3, 4, 5, 6, 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, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130], "starting_column": 1, "ending_column": 2}}}}], "description": "OUSDResolutionUpgrade.initializing (contracts/token/OUSDResolutionUpgrade.sol#12) should be constant\n", "markdown": "[OUSDResolutionUpgrade.initializing](contracts/token/OUSDResolutionUpgrade.sol#L12) should be constant\n", "first_markdown_element": "contracts/token/OUSDResolutionUpgrade.sol#L12", "id": "c69133d357c924089ed02bb4dde070a42b4bf6de4c0b65d348e468864973316a", "check": "constable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "nonRebasingSupply", "source_mapping": {"start": 803, "length": 32, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_relative": "contracts/token/OUSDResolutionUpgrade.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_short": "contracts/token/OUSDResolutionUpgrade.sol", "is_dependency": false, "lines": [29], "starting_column": 5, "ending_column": 37}, "type_specific_fields": {"parent": {"type": "contract", "name": "OUSDResolutionUpgrade", "source_mapping": {"start": 25, "length": 4062, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_relative": "contracts/token/OUSDResolutionUpgrade.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_short": "contracts/token/OUSDResolutionUpgrade.sol", "is_dependency": false, "lines": [3, 4, 5, 6, 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, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130], "starting_column": 1, "ending_column": 2}}}}], "description": "OUSDResolutionUpgrade.nonRebasingSupply (contracts/token/OUSDResolutionUpgrade.sol#29) should be constant\n", "markdown": "[OUSDResolutionUpgrade.nonRebasingSupply](contracts/token/OUSDResolutionUpgrade.sol#L29) should be constant\n", "first_markdown_element": "contracts/token/OUSDResolutionUpgrade.sol#L29", "id": "e17fd436e0a604cb7be2d272cdd362338280663a1a0aa613116ea1b3fbe6ebc9", "check": "constable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "vaultAddress", "source_mapping": {"start": 616, "length": 40, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_relative": "contracts/token/OUSDResolutionUpgrade.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_short": "contracts/token/OUSDResolutionUpgrade.sol", "is_dependency": false, "lines": [25], "starting_column": 5, "ending_column": 45}, "type_specific_fields": {"parent": {"type": "contract", "name": "OUSDResolutionUpgrade", "source_mapping": {"start": 25, "length": 4062, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_relative": "contracts/token/OUSDResolutionUpgrade.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_short": "contracts/token/OUSDResolutionUpgrade.sol", "is_dependency": false, "lines": [3, 4, 5, 6, 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, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130], "starting_column": 1, "ending_column": 2}}}}], "description": "OUSDResolutionUpgrade.vaultAddress (contracts/token/OUSDResolutionUpgrade.sol#25) should be constant\n", "markdown": "[OUSDResolutionUpgrade.vaultAddress](contracts/token/OUSDResolutionUpgrade.sol#L25) should be constant\n", "first_markdown_element": "contracts/token/OUSDResolutionUpgrade.sol#L25", "id": "d17c40d13f23171f24f257c05a906ba4f825e300c024fcec7986d2bf6ed00657", "check": "constable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "isUpgraded", "source_mapping": {"start": 1875, "length": 45, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSD.sol", "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [52], "starting_column": 5, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "contract", "name": "OUSD", "source_mapping": {"start": 840, "length": 19113, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSD.sol", "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578], "starting_column": 1, "ending_column": 2}}}}, {"type": "function", "name": "creditsBalanceOfHighres", "source_mapping": {"start": 5205, "length": 322, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSD.sol", "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OUSD", "source_mapping": {"start": 840, "length": 19113, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSD.sol", "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578], "starting_column": 1, "ending_column": 2}}, "signature": "creditsBalanceOfHighres(address)"}}], "description": "OUSD.isUpgraded (contracts/token/OUSD.sol#52) is never initialized. It is used in:\n\t- OUSD.creditsBalanceOfHighres(address) (contracts/token/OUSD.sol#158-172)\n", "markdown": "[OUSD.isUpgraded](contracts/token/OUSD.sol#L52) is never initialized. It is used in:\n\t- [OUSD.creditsBalanceOfHighres(address)](contracts/token/OUSD.sol#L158-L172)\n", "first_markdown_element": "contracts/token/OUSD.sol#L52", "id": "1a9fd10ae49fbf202e5333c123ca53e5ea8614f3f7a5ace5a8e001758b5be263", "check": "uninitialized-state", "impact": "High", "confidence": "High"}, {"elements": [{"type": "function", "name": "scaleBy", "source_mapping": {"start": 781, "length": 288, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/utils/StableMath.sol", "filename_relative": "contracts/utils/StableMath.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/utils/StableMath.sol", "filename_short": "contracts/utils/StableMath.sol", "is_dependency": false, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StableMath", "source_mapping": {"start": 285, "length": 3569, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/utils/StableMath.sol", "filename_relative": "contracts/utils/StableMath.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/utils/StableMath.sol", "filename_short": "contracts/utils/StableMath.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114], "starting_column": 1, "ending_column": 2}}, "signature": "scaleBy(uint256,uint256,uint256)"}}, {"type": "node", "name": "x = x.mul(10 ** (to - from))", "source_mapping": {"start": 936, "length": 26, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/utils/StableMath.sol", "filename_relative": "contracts/utils/StableMath.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/utils/StableMath.sol", "filename_short": "contracts/utils/StableMath.sol", "is_dependency": false, "lines": [33], "starting_column": 13, "ending_column": 39}, "type_specific_fields": {"parent": {"type": "function", "name": "scaleBy", "source_mapping": {"start": 781, "length": 288, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/utils/StableMath.sol", "filename_relative": "contracts/utils/StableMath.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/utils/StableMath.sol", "filename_short": "contracts/utils/StableMath.sol", "is_dependency": false, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StableMath", "source_mapping": {"start": 285, "length": 3569, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/utils/StableMath.sol", "filename_relative": "contracts/utils/StableMath.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/utils/StableMath.sol", "filename_short": "contracts/utils/StableMath.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114], "starting_column": 1, "ending_column": 2}}, "signature": "scaleBy(uint256,uint256,uint256)"}}}}, {"type": "node", "name": "x = x.div(10 ** (from - to))", "source_mapping": {"start": 1008, "length": 26, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/utils/StableMath.sol", "filename_relative": "contracts/utils/StableMath.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/utils/StableMath.sol", "filename_short": "contracts/utils/StableMath.sol", "is_dependency": false, "lines": [35], "starting_column": 13, "ending_column": 39}, "type_specific_fields": {"parent": {"type": "function", "name": "scaleBy", "source_mapping": {"start": 781, "length": 288, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/utils/StableMath.sol", "filename_relative": "contracts/utils/StableMath.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/utils/StableMath.sol", "filename_short": "contracts/utils/StableMath.sol", "is_dependency": false, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StableMath", "source_mapping": {"start": 285, "length": 3569, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/utils/StableMath.sol", "filename_relative": "contracts/utils/StableMath.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/utils/StableMath.sol", "filename_short": "contracts/utils/StableMath.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114], "starting_column": 1, "ending_column": 2}}, "signature": "scaleBy(uint256,uint256,uint256)"}}}}], "description": "StableMath.scaleBy(uint256,uint256,uint256) (contracts/utils/StableMath.sol#27-38) performs a multiplication on the result of a division:\n\t-x = x.mul(10 ** (to - from)) (contracts/utils/StableMath.sol#33)\n\t-x = x.div(10 ** (from - to)) (contracts/utils/StableMath.sol#35)\n", "markdown": "[StableMath.scaleBy(uint256,uint256,uint256)](contracts/utils/StableMath.sol#L27-L38) performs a multiplication on the result of a division:\n\t-[x = x.mul(10 ** (to - from))](contracts/utils/StableMath.sol#L33)\n\t-[x = x.div(10 ** (from - to))](contracts/utils/StableMath.sol#L35)\n", "first_markdown_element": "contracts/utils/StableMath.sol#L27-L38", "id": "b1500b45d44a127aa3729dda962b0f1fad4c4141dfa4fb20f46e1148cf288944", "check": "divide-before-multiply", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "addSwapToken", "source_mapping": {"start": 7974, "length": 644, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultAdmin", "source_mapping": {"start": 527, "length": 18940, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577], "starting_column": 1, "ending_column": 2}}, "signature": "addSwapToken(address)"}}, {"type": "node", "name": "IOracle(priceProvider).price(_addr)", "source_mapping": {"start": 8261, "length": 35, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [243], "starting_column": 9, "ending_column": 44}, "type_specific_fields": {"parent": {"type": "function", "name": "addSwapToken", "source_mapping": {"start": 7974, "length": 644, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultAdmin", "source_mapping": {"start": 527, "length": 18940, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577], "starting_column": 1, "ending_column": 2}}, "signature": "addSwapToken(address)"}}}}], "description": "VaultAdmin.addSwapToken(address) (contracts/vault/VaultAdmin.sol#235-255) ignores return value by IOracle(priceProvider).price(_addr) (contracts/vault/VaultAdmin.sol#243)\n", "markdown": "[VaultAdmin.addSwapToken(address)](contracts/vault/VaultAdmin.sol#L235-L255) ignores return value by [IOracle(priceProvider).price(_addr)](contracts/vault/VaultAdmin.sol#L243)\n", "first_markdown_element": "contracts/vault/VaultAdmin.sol#L235-L255", "id": "62ac1769a2c1d54d7ea6660de35020316e5057588e99010c778d43e01aacf3e2", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "addSwapToken", "source_mapping": {"start": 7510, "length": 644, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultAdmin", "source_mapping": {"start": 527, "length": 18435, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "addSwapToken(address)"}}, {"type": "node", "name": "IOracle(priceProvider).price(_addr)", "source_mapping": {"start": 7797, "length": 35, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [231], "starting_column": 9, "ending_column": 44}, "type_specific_fields": {"parent": {"type": "function", "name": "addSwapToken", "source_mapping": {"start": 7510, "length": 644, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultAdmin", "source_mapping": {"start": 527, "length": 18435, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "addSwapToken(address)"}}}}], "description": "VaultAdmin.addSwapToken(address) (contracts/vault/VaultAdmin.sol#223-243) ignores return value by IOracle(priceProvider).price(_addr) (contracts/vault/VaultAdmin.sol#231)\n", "markdown": "[VaultAdmin.addSwapToken(address)](contracts/vault/VaultAdmin.sol#L223-L243) ignores return value by [IOracle(priceProvider).price(_addr)](contracts/vault/VaultAdmin.sol#L231)\n", "first_markdown_element": "contracts/vault/VaultAdmin.sol#L223-L243", "id": "9c71d10f9809eae2cbece0fe66259b93d8a7423a5a0e5362b2e132b55970c1a9", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_allocate", "source_mapping": {"start": 9273, "length": 4326, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 621, "length": 24503, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686], "starting_column": 1, "ending_column": 2}}, "signature": "_allocate()"}}, {"type": "node", "name": "IVault(address(this)).harvest(allStrategies[i])", "source_mapping": {"start": 10657, "length": 47, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [289], "starting_column": 25, "ending_column": 72}, "type_specific_fields": {"parent": {"type": "function", "name": "_allocate", "source_mapping": {"start": 9273, "length": 4326, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 621, "length": 24503, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686], "starting_column": 1, "ending_column": 2}}, "signature": "_allocate()"}}}}], "description": "VaultCore._allocate() (contracts/vault/VaultCore.sol#266-362) ignores return value by IVault(address(this)).harvest(allStrategies[i]) (contracts/vault/VaultCore.sol#289)\n", "markdown": "[VaultCore._allocate()](contracts/vault/VaultCore.sol#L266-L362) ignores return value by [IVault(address(this)).harvest(allStrategies[i])](contracts/vault/VaultCore.sol#L289)\n", "id": "14738114fda112fc8f37877cd29cc70a2cd815ef7bd1c03a5a0774ec1e219673", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "contract", "name": "InitializableAbstractStrategy", "source_mapping": {"start": 449, "length": 8364, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263], "starting_column": 1, "ending_column": 2}}, {"type": "node", "name": "assetsMapped.push(_asset)", "source_mapping": {"start": 6547, "length": 25, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [189], "starting_column": 9, "ending_column": 34}, "type_specific_fields": {"parent": {"type": "function", "name": "_setPTokenAddress", "source_mapping": {"start": 6231, "length": 438, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "InitializableAbstractStrategy", "source_mapping": {"start": 449, "length": 8364, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263], "starting_column": 1, "ending_column": 2}}, "signature": "_setPTokenAddress(address,address)"}}}}], "description": "InitializableAbstractStrategy (contracts/utils/InitializableAbstractStrategy.sol#11-263) contract sets array length with a user-controlled value:\n\t- assetsMapped.push(_asset) (contracts/utils/InitializableAbstractStrategy.sol#189)\n", "markdown": "[InitializableAbstractStrategy](contracts/utils/InitializableAbstractStrategy.sol#L11-L263) contract sets array length with a user-controlled value:\n\t- [assetsMapped.push(_asset)](contracts/utils/InitializableAbstractStrategy.sol#L189)\n", "id": "381ac16a09532b8a5dfd39a5d7c89b8a098eed32925b60281cbd3b0fcad4f990", "check": "controlled-array-length", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_allocate", "source_mapping": {"start": 9273, "length": 4326, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 621, "length": 24503, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686], "starting_column": 1, "ending_column": 2}}, "signature": "_allocate()"}}, {"type": "node", "name": "IVault(address(this)).harvest(allStrategies[i])", "source_mapping": {"start": 10027, "length": 47, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [278], "starting_column": 21, "ending_column": 68}, "type_specific_fields": {"parent": {"type": "function", "name": "_allocate", "source_mapping": {"start": 9273, "length": 4326, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 621, "length": 24503, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686], "starting_column": 1, "ending_column": 2}}, "signature": "_allocate()"}}}}], "description": "VaultCore._allocate() (contracts/vault/VaultCore.sol#266-362) ignores return value by IVault(address(this)).harvest(allStrategies[i]) (contracts/vault/VaultCore.sol#278)\n", "markdown": "[VaultCore._allocate()](contracts/vault/VaultCore.sol#L266-L362) ignores return value by [IVault(address(this)).harvest(allStrategies[i])](contracts/vault/VaultCore.sol#L278)\n", "id": "7e2dac8db9a46c3c11c5d4b3e04cb5233cb9693607e01c54045f05b7dae4fc76", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "contract", "name": "InitializableAbstractStrategy", "source_mapping": {"start": 392, "length": 8280, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259], "starting_column": 1, "ending_column": 2}}, {"type": "node", "name": "assetsMapped.push(_asset)", "source_mapping": {"start": 6406, "length": 25, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [185], "starting_column": 9, "ending_column": 34}, "type_specific_fields": {"parent": {"type": "function", "name": "_setPTokenAddress", "source_mapping": {"start": 6090, "length": 438, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [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": "InitializableAbstractStrategy", "source_mapping": {"start": 392, "length": 8280, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259], "starting_column": 1, "ending_column": 2}}, "signature": "_setPTokenAddress(address,address)"}}}}], "description": "InitializableAbstractStrategy (contracts/utils/InitializableAbstractStrategy.sol#10-259) contract sets array length with a user-controlled value:\n\t- assetsMapped.push(_asset) (contracts/utils/InitializableAbstractStrategy.sol#185)\n", "markdown": "[InitializableAbstractStrategy](contracts/utils/InitializableAbstractStrategy.sol#L10-L259) contract sets array length with a user-controlled value:\n\t- [assetsMapped.push(_asset)](contracts/utils/InitializableAbstractStrategy.sol#L185)\n", "id": "30b7d9aab47a66b59f74bd13941e813c3b5a5ae6448a3f7679c53e7ddbe332ae", "check": "controlled-array-length", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "contract", "name": "InitializableAbstractStrategy", "source_mapping": {"start": 392, "length": 7885, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249], "starting_column": 1, "ending_column": 2}}, {"type": "node", "name": "assetsMapped.push(_asset)", "source_mapping": {"start": 6011, "length": 25, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [175], "starting_column": 9, "ending_column": 34}, "type_specific_fields": {"parent": {"type": "function", "name": "_setPTokenAddress", "source_mapping": {"start": 5695, "length": 438, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "InitializableAbstractStrategy", "source_mapping": {"start": 392, "length": 7885, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249], "starting_column": 1, "ending_column": 2}}, "signature": "_setPTokenAddress(address,address)"}}}}], "description": "InitializableAbstractStrategy (contracts/utils/InitializableAbstractStrategy.sol#10-249) contract sets array length with a user-controlled value:\n\t- assetsMapped.push(_asset) (contracts/utils/InitializableAbstractStrategy.sol#175)\n", "markdown": "[InitializableAbstractStrategy](contracts/utils/InitializableAbstractStrategy.sol#L10-L249) contract sets array length with a user-controlled value:\n\t- [assetsMapped.push(_asset)](contracts/utils/InitializableAbstractStrategy.sol#L175)\n", "id": "4768a672e113dfcc66a3411dcecbb416a83238a54329eb946079711430f271a2", "check": "controlled-array-length", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_allocate", "source_mapping": {"start": 9261, "length": 3882, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 621, "length": 24145, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678], "starting_column": 1, "ending_column": 2}}, "signature": "_allocate()"}}, {"type": "node", "name": "assetBalance == 0", "source_mapping": {"start": 10940, "length": 17, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [302], "starting_column": 17, "ending_column": 34}, "type_specific_fields": {"parent": {"type": "function", "name": "_allocate", "source_mapping": {"start": 9261, "length": 3882, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 621, "length": 24145, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678], "starting_column": 1, "ending_column": 2}}, "signature": "_allocate()"}}}}], "description": "VaultCore._allocate() (contracts/vault/VaultCore.sol#265-351) uses a dangerous strict equality:\n\t- assetBalance == 0 (contracts/vault/VaultCore.sol#302)\n", "markdown": "[VaultCore._allocate()](contracts/vault/VaultCore.sol#L265-L351) uses a dangerous strict equality:\n\t- [assetBalance == 0](contracts/vault/VaultCore.sol#L302)\n", "id": "68299d4d220bd6c43bb5621c4879a0d491e7543f1165aecf84c78d5c75097361", "check": "incorrect-equality", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "function", "name": "swap", "source_mapping": {"start": 2267, "length": 626, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/buyback/BuybackConstructor.sol", "filename_relative": "contracts/buyback/BuybackConstructor.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/buyback/BuybackConstructor.sol", "filename_short": "contracts/buyback/BuybackConstructor.sol", "is_dependency": false, "lines": [73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BuybackConstructor", "source_mapping": {"start": 319, "length": 2850, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/buyback/BuybackConstructor.sol", "filename_relative": "contracts/buyback/BuybackConstructor.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/buyback/BuybackConstructor.sol", "filename_short": "contracts/buyback/BuybackConstructor.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 1, "ending_column": 2}}, "signature": "swap()"}}, {"type": "node", "name": "IUniswapV2Router(uniswapAddr).swapExactTokensForTokens(sourceAmount,uint256(0),path,address(this),now)", "source_mapping": {"start": 2710, "length": 176, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/buyback/BuybackConstructor.sol", "filename_relative": "contracts/buyback/BuybackConstructor.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/buyback/BuybackConstructor.sol", "filename_short": "contracts/buyback/BuybackConstructor.sol", "is_dependency": false, "lines": [85, 86, 87, 88, 89, 90, 91], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "swap", "source_mapping": {"start": 2267, "length": 626, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/buyback/BuybackConstructor.sol", "filename_relative": "contracts/buyback/BuybackConstructor.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/buyback/BuybackConstructor.sol", "filename_short": "contracts/buyback/BuybackConstructor.sol", "is_dependency": false, "lines": [73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BuybackConstructor", "source_mapping": {"start": 319, "length": 2850, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/buyback/BuybackConstructor.sol", "filename_relative": "contracts/buyback/BuybackConstructor.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/buyback/BuybackConstructor.sol", "filename_short": "contracts/buyback/BuybackConstructor.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 1, "ending_column": 2}}, "signature": "swap()"}}}}], "description": "BuybackConstructor.swap() (contracts/buyback/BuybackConstructor.sol#73-92) ignores return value by IUniswapV2Router(uniswapAddr).swapExactTokensForTokens(sourceAmount,uint256(0),path,address(this),now) (contracts/buyback/BuybackConstructor.sol#85-91)\n", "markdown": "[BuybackConstructor.swap()](contracts/buyback/BuybackConstructor.sol#L73-L92) ignores return value by [IUniswapV2Router(uniswapAddr).swapExactTokensForTokens(sourceAmount,uint256(0),path,address(this),now)](contracts/buyback/BuybackConstructor.sol#L85-L91)\n", "id": "3cc3f6a6db631431fed154ac7a026944735135574cc350ab5b7af20075adf2bc", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "trusteeAddress", "source_mapping": {"start": 3698, "length": 29, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [101], "starting_column": 5, "ending_column": 34}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 807, "length": 3487, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120], "starting_column": 1, "ending_column": 2}}}}, {"type": "function", "name": "_allocate", "source_mapping": {"start": 9506, "length": 3882, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 621, "length": 24302, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681], "starting_column": 1, "ending_column": 2}}, "signature": "_allocate()"}}, {"type": "function", "name": "_rebase", "source_mapping": {"start": 13841, "length": 953, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [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], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 621, "length": 24302, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681], "starting_column": 1, "ending_column": 2}}, "signature": "_rebase()"}}], "description": "VaultStorage.trusteeAddress (contracts/vault/VaultStorage.sol#101) is never initialized. It is used in:\n\t- VaultCore._allocate() (contracts/vault/VaultCore.sol#271-357)\n\t- VaultCore._rebase() (contracts/vault/VaultCore.sol#372-396)\n", "markdown": "[VaultStorage.trusteeAddress](contracts/vault/VaultStorage.sol#L101) is never initialized. It is used in:\n\t- [VaultCore._allocate()](contracts/vault/VaultCore.sol#L271-L357)\n\t- [VaultCore._rebase()](contracts/vault/VaultCore.sol#L372-L396)\n", "id": "65e007df44c00b192cdedf6acb4c0c396774b55569e66aa864570ff224919500", "check": "uninitialized-state", "impact": "High", "confidence": "High"}, {"elements": [{"type": "function", "name": "_allocate", "source_mapping": {"start": 9506, "length": 3882, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 621, "length": 24302, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681], "starting_column": 1, "ending_column": 2}}, "signature": "_allocate()"}}, {"type": "node", "name": "assetBalance == 0", "source_mapping": {"start": 11185, "length": 17, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [308], "starting_column": 17, "ending_column": 34}, "type_specific_fields": {"parent": {"type": "function", "name": "_allocate", "source_mapping": {"start": 9506, "length": 3882, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 621, "length": 24302, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681], "starting_column": 1, "ending_column": 2}}, "signature": "_allocate()"}}}}], "description": "VaultCore._allocate() (contracts/vault/VaultCore.sol#271-357) uses a dangerous strict equality:\n\t- assetBalance == 0 (contracts/vault/VaultCore.sol#308)\n", "markdown": "[VaultCore._allocate()](contracts/vault/VaultCore.sol#L271-L357) uses a dangerous strict equality:\n\t- [assetBalance == 0](contracts/vault/VaultCore.sol#L308)\n", "id": "3cdb474d424497377560f2617a225571d094bc5a4d9068ed28cc039cf36bb0a9", "check": "incorrect-equality", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "function", "name": "swap", "source_mapping": {"start": 1716, "length": 626, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.sol", "is_dependency": false, "lines": [54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Buyback", "source_mapping": {"start": 319, "length": 2299, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85], "starting_column": 1, "ending_column": 2}}, "signature": "swap()"}}, {"type": "node", "name": "IUniswapV2Router(uniswapAddr).swapExactTokensForTokens(sourceAmount,uint256(0),path,address(this),now)", "source_mapping": {"start": 2159, "length": 176, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.sol", "is_dependency": false, "lines": [66, 67, 68, 69, 70, 71, 72], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "swap", "source_mapping": {"start": 1716, "length": 626, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.sol", "is_dependency": false, "lines": [54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Buyback", "source_mapping": {"start": 319, "length": 2299, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85], "starting_column": 1, "ending_column": 2}}, "signature": "swap()"}}}}], "description": "Buyback.swap() (contracts/buyback/Buyback.sol#54-73) ignores return value by IUniswapV2Router(uniswapAddr).swapExactTokensForTokens(sourceAmount,uint256(0),path,address(this),now) (contracts/buyback/Buyback.sol#66-72)\n", "markdown": "[Buyback.swap()](contracts/buyback/Buyback.sol#L54-L73) ignores return value by [IUniswapV2Router(uniswapAddr).swapExactTokensForTokens(sourceAmount,uint256(0),path,address(this),now)](contracts/buyback/Buyback.sol#L66-L72)\n", "id": "4ced8a08a7a10442a6b73bc497693399dcb3627d49d0ffbe3233d32187059cba", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_allocate", "source_mapping": {"start": 9451, "length": 3809, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 566, "length": 24229, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677], "starting_column": 1, "ending_column": 2}}, "signature": "_allocate()"}}, {"type": "node", "name": "assetBalance == 0", "source_mapping": {"start": 11130, "length": 17, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [307], "starting_column": 17, "ending_column": 34}, "type_specific_fields": {"parent": {"type": "function", "name": "_allocate", "source_mapping": {"start": 9451, "length": 3809, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 566, "length": 24229, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677], "starting_column": 1, "ending_column": 2}}, "signature": "_allocate()"}}}}], "description": "VaultCore._allocate() (contracts/vault/VaultCore.sol#270-353) uses a dangerous strict equality:\n\t- assetBalance == 0 (contracts/vault/VaultCore.sol#307)\n", "markdown": "[VaultCore._allocate()](contracts/vault/VaultCore.sol#L270-L353) uses a dangerous strict equality:\n\t- [assetBalance == 0](contracts/vault/VaultCore.sol#L307)\n", "id": "67337dd8b3da36d12ebd0856bc1dd88acd22e740abd8d2e6e33a46a1d187e940", "check": "incorrect-equality", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "contract", "name": "Tether", "source_mapping": {"start": 402, "length": 248, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/flipper/Flipper.sol", "filename_relative": "contracts/flipper/Flipper.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/flipper/Flipper.sol", "filename_short": "contracts/flipper/Flipper.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23], "starting_column": 1, "ending_column": 2}}, {"type": "function", "name": "transfer", "source_mapping": {"start": 425, "length": 54, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/flipper/Flipper.sol", "filename_relative": "contracts/flipper/Flipper.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/flipper/Flipper.sol", "filename_short": "contracts/flipper/Flipper.sol", "is_dependency": false, "lines": [14], "starting_column": 5, "ending_column": 59}, "type_specific_fields": {"parent": {"type": "contract", "name": "Tether", "source_mapping": {"start": 402, "length": 248, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/flipper/Flipper.sol", "filename_relative": "contracts/flipper/Flipper.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/flipper/Flipper.sol", "filename_short": "contracts/flipper/Flipper.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23], "starting_column": 1, "ending_column": 2}}, "signature": "transfer(address,uint256)"}}], "description": "Tether (contracts/flipper/Flipper.sol#13-23) has incorrect ERC20 function interface:Tether.transfer(address,uint256) (contracts/flipper/Flipper.sol#14)\n", "markdown": "[Tether](contracts/flipper/Flipper.sol#L13-L23) has incorrect ERC20 function interface:[Tether.transfer(address,uint256)](contracts/flipper/Flipper.sol#L14)\n", "id": "e2f2abe06f3b5a5408c2013e6c7749baa5ffc112491baf17fb7381de0160bf62", "check": "erc20-interface", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "contract", "name": "Tether", "source_mapping": {"start": 402, "length": 248, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/flipper/Flipper.sol", "filename_relative": "contracts/flipper/Flipper.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/flipper/Flipper.sol", "filename_short": "contracts/flipper/Flipper.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23], "starting_column": 1, "ending_column": 2}}, {"type": "function", "name": "transferFrom", "source_mapping": {"start": 485, "length": 102, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/flipper/Flipper.sol", "filename_relative": "contracts/flipper/Flipper.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/flipper/Flipper.sol", "filename_short": "contracts/flipper/Flipper.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20], "starting_column": 5, "ending_column": 16}, "type_specific_fields": {"parent": {"type": "contract", "name": "Tether", "source_mapping": {"start": 402, "length": 248, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/flipper/Flipper.sol", "filename_relative": "contracts/flipper/Flipper.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/flipper/Flipper.sol", "filename_short": "contracts/flipper/Flipper.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23], "starting_column": 1, "ending_column": 2}}, "signature": "transferFrom(address,address,uint256)"}}], "description": "Tether (contracts/flipper/Flipper.sol#13-23) has incorrect ERC20 function interface:Tether.transferFrom(address,address,uint256) (contracts/flipper/Flipper.sol#16-20)\n", "markdown": "[Tether](contracts/flipper/Flipper.sol#L13-L23) has incorrect ERC20 function interface:[Tether.transferFrom(address,address,uint256)](contracts/flipper/Flipper.sol#L16-L20)\n", "id": "3ba32686b3afe7766e203671652c46578ceb76551174eb1d20789241a114e5db", "check": "erc20-interface", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "contract", "name": "InitializableAbstractStrategy", "source_mapping": {"start": 396, "length": 7885, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251], "starting_column": 1, "ending_column": 2}}, {"type": "node", "name": "assetsMapped.push(_asset)", "source_mapping": {"start": 6016, "length": 25, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [177], "starting_column": 9, "ending_column": 34}, "type_specific_fields": {"parent": {"type": "function", "name": "_setPTokenAddress", "source_mapping": {"start": 5700, "length": 438, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "InitializableAbstractStrategy", "source_mapping": {"start": 396, "length": 7885, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251], "starting_column": 1, "ending_column": 2}}, "signature": "_setPTokenAddress(address,address)"}}}}], "description": "InitializableAbstractStrategy (contracts/utils/InitializableAbstractStrategy.sol#12-251) contract sets array length with a user-controlled value:\n\t- assetsMapped.push(_asset) (contracts/utils/InitializableAbstractStrategy.sol#177)\n", "markdown": "[InitializableAbstractStrategy](contracts/utils/InitializableAbstractStrategy.sol#L12-L251) contract sets array length with a user-controlled value:\n\t- [assetsMapped.push(_asset)](contracts/utils/InitializableAbstractStrategy.sol#L177)\n", "id": "df38af393431fdde0ef600ae1071c57ca43fd15a0015a0d24d83245f0a52a803", "check": "controlled-array-length", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_deposit", "source_mapping": {"start": 1736, "length": 293, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [53, 54, 55, 56, 57, 58], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompoundStrategy", "source_mapping": {"start": 382, "length": 7749, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221], "starting_column": 1, "ending_column": 2}}, "signature": "_deposit(address,uint256)"}}, {"type": "node", "name": "require(bool,string)(cToken.mint(_amount) == 0,cToken mint failed)", "source_mapping": {"start": 1966, "length": 56, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [57], "starting_column": 9, "ending_column": 65}, "type_specific_fields": {"parent": {"type": "function", "name": "_deposit", "source_mapping": {"start": 1736, "length": 293, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [53, 54, 55, 56, 57, 58], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompoundStrategy", "source_mapping": {"start": 382, "length": 7749, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221], "starting_column": 1, "ending_column": 2}}, "signature": "_deposit(address,uint256)"}}}}], "description": "CompoundStrategy._deposit(address,uint256) (contracts/strategies/CompoundStrategy.sol#53-58) uses a dangerous strict equality:\n\t- require(bool,string)(cToken.mint(_amount) == 0,cToken mint failed) (contracts/strategies/CompoundStrategy.sol#57)\n", "markdown": "[CompoundStrategy._deposit(address,uint256)](contracts/strategies/CompoundStrategy.sol#L53-L58) uses a dangerous strict equality:\n\t- [require(bool,string)(cToken.mint(_amount) == 0,cToken mint failed)](contracts/strategies/CompoundStrategy.sol#L57)\n", "id": "7cadb11ad19feb7b0494f84f47faae7b851c89d2098787519c17eda83d7f73d6", "check": "incorrect-equality", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "function", "name": "withdrawAll", "source_mapping": {"start": 3595, "length": 720, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompoundStrategy", "source_mapping": {"start": 382, "length": 7749, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221], "starting_column": 1, "ending_column": 2}}, "signature": "withdrawAll()"}}, {"type": "node", "name": "require(bool,string)(cToken.redeem(cToken.balanceOf(address(this))) == 0,Redeem failed)", "source_mapping": {"start": 3901, "length": 135, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [108, 109, 110, 111], "starting_column": 17, "ending_column": 18}, "type_specific_fields": {"parent": {"type": "function", "name": "withdrawAll", "source_mapping": {"start": 3595, "length": 720, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompoundStrategy", "source_mapping": {"start": 382, "length": 7749, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221], "starting_column": 1, "ending_column": 2}}, "signature": "withdrawAll()"}}}}], "description": "CompoundStrategy.withdrawAll() (contracts/strategies/CompoundStrategy.sol#103-120) uses a dangerous strict equality:\n\t- require(bool,string)(cToken.redeem(cToken.balanceOf(address(this))) == 0,Redeem failed) (contracts/strategies/CompoundStrategy.sol#108-111)\n", "markdown": "[CompoundStrategy.withdrawAll()](contracts/strategies/CompoundStrategy.sol#L103-L120) uses a dangerous strict equality:\n\t- [require(bool,string)(cToken.redeem(cToken.balanceOf(address(this))) == 0,Redeem failed)](contracts/strategies/CompoundStrategy.sol#L108-L111)\n", "id": "d32d63d9464f5701e2db9f5630c6fce80c9c5404aeecf34e08b2860fbca2e756", "check": "incorrect-equality", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "variable", "name": "trusteeFeeBps", "source_mapping": {"start": 3782, "length": 28, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [104], "starting_column": 5, "ending_column": 33}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 807, "length": 3486, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120], "starting_column": 1, "ending_column": 2}}}}, {"type": "function", "name": "_rebase", "source_mapping": {"start": 13775, "length": 953, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [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], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 578, "length": 24561, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686], "starting_column": 1, "ending_column": 2}}, "signature": "_rebase()"}}], "description": "VaultStorage.trusteeFeeBps (contracts/vault/VaultStorage.sol#104) is never initialized. It is used in:\n\t- VaultCore._rebase() (contracts/vault/VaultCore.sol#370-394)\n", "markdown": "[VaultStorage.trusteeFeeBps](contracts/vault/VaultStorage.sol#L104) is never initialized. It is used in:\n\t- [VaultCore._rebase()](contracts/vault/VaultCore.sol#L370-L394)\n", "id": "6026824a262c80dba27267266bd932f6ced8a0ab28731a229e2747099e556a33", "check": "uninitialized-state", "impact": "High", "confidence": "High"}, {"elements": [{"type": "variable", "name": "trusteeAddress", "source_mapping": {"start": 3699, "length": 29, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [101], "starting_column": 5, "ending_column": 34}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 807, "length": 3490, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120], "starting_column": 1, "ending_column": 2}}}}, {"type": "function", "name": "_rebase", "source_mapping": {"start": 13871, "length": 960, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [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], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 578, "length": 24664, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688], "starting_column": 1, "ending_column": 2}}, "signature": "_rebase()"}}], "description": "VaultStorage.trusteeAddress (contracts/vault/VaultStorage.sol#101) is never initialized. It is used in:\n\t- VaultCore._rebase() (contracts/vault/VaultCore.sol#372-396)\n", "markdown": "[VaultStorage.trusteeAddress](contracts/vault/VaultStorage.sol#L101) is never initialized. It is used in:\n\t- [VaultCore._rebase()](contracts/vault/VaultCore.sol#L372-L396)\n", "id": "38c6f1922de1e66b8be48d1e73897a517a266abf443487b0429c6d6070aa67d7", "check": "uninitialized-state", "impact": "High", "confidence": "High"}, {"elements": [{"type": "variable", "name": "trusteeFeeBasis", "source_mapping": {"start": 3784, "length": 30, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [104], "starting_column": 5, "ending_column": 35}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 807, "length": 3490, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120], "starting_column": 1, "ending_column": 2}}}}, {"type": "function", "name": "_rebase", "source_mapping": {"start": 13871, "length": 960, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [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], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 578, "length": 24664, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688], "starting_column": 1, "ending_column": 2}}, "signature": "_rebase()"}}], "description": "VaultStorage.trusteeFeeBasis (contracts/vault/VaultStorage.sol#104) is never initialized. It is used in:\n\t- VaultCore._rebase() (contracts/vault/VaultCore.sol#372-396)\n", "markdown": "[VaultStorage.trusteeFeeBasis](contracts/vault/VaultStorage.sol#L104) is never initialized. It is used in:\n\t- [VaultCore._rebase()](contracts/vault/VaultCore.sol#L372-L396)\n", "id": "3f7908a03d07c1a38ed6e02e0e85b2e0e3e7b96dcad11d66ac62102edf3951f9", "check": "uninitialized-state", "impact": "High", "confidence": "High"}, {"elements": [{"type": "function", "name": "scaleBy", "source_mapping": {"start": 734, "length": 308, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/StableMath.sol", "filename_relative": "contracts/utils/StableMath.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/StableMath.sol", "filename_short": "contracts/utils/StableMath.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StableMath", "source_mapping": {"start": 242, "length": 3585, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/StableMath.sol", "filename_relative": "contracts/utils/StableMath.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/StableMath.sol", "filename_short": "contracts/utils/StableMath.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112], "starting_column": 1, "ending_column": 2}}, "signature": "scaleBy(uint256,int8)"}}, {"type": "node", "name": "x = x.mul(10 ** uint256(adjustment))", "source_mapping": {"start": 883, "length": 34, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/StableMath.sol", "filename_relative": "contracts/utils/StableMath.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/StableMath.sol", "filename_short": "contracts/utils/StableMath.sol", "is_dependency": false, "lines": [31], "starting_column": 13, "ending_column": 47}, "type_specific_fields": {"parent": {"type": "function", "name": "scaleBy", "source_mapping": {"start": 734, "length": 308, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/StableMath.sol", "filename_relative": "contracts/utils/StableMath.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/StableMath.sol", "filename_short": "contracts/utils/StableMath.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StableMath", "source_mapping": {"start": 242, "length": 3585, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/StableMath.sol", "filename_relative": "contracts/utils/StableMath.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/StableMath.sol", "filename_short": "contracts/utils/StableMath.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112], "starting_column": 1, "ending_column": 2}}, "signature": "scaleBy(uint256,int8)"}}}}, {"type": "node", "name": "x = x.div(10 ** uint256(adjustment * - 1))", "source_mapping": {"start": 968, "length": 39, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/StableMath.sol", "filename_relative": "contracts/utils/StableMath.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/StableMath.sol", "filename_short": "contracts/utils/StableMath.sol", "is_dependency": false, "lines": [33], "starting_column": 13, "ending_column": 52}, "type_specific_fields": {"parent": {"type": "function", "name": "scaleBy", "source_mapping": {"start": 734, "length": 308, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/StableMath.sol", "filename_relative": "contracts/utils/StableMath.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/StableMath.sol", "filename_short": "contracts/utils/StableMath.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StableMath", "source_mapping": {"start": 242, "length": 3585, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/StableMath.sol", "filename_relative": "contracts/utils/StableMath.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/StableMath.sol", "filename_short": "contracts/utils/StableMath.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112], "starting_column": 1, "ending_column": 2}}, "signature": "scaleBy(uint256,int8)"}}}}], "description": "StableMath.scaleBy(uint256,int8) (contracts/utils/StableMath.sol#25-36) performs a multiplication on the result of a division:\n\t-x = x.mul(10 ** uint256(adjustment)) (contracts/utils/StableMath.sol#31)\n\t-x = x.div(10 ** uint256(adjustment * - 1)) (contracts/utils/StableMath.sol#33)\n", "markdown": "[StableMath.scaleBy(uint256,int8)](contracts/utils/StableMath.sol#L25-L36) performs a multiplication on the result of a division:\n\t-[x = x.mul(10 ** uint256(adjustment))](contracts/utils/StableMath.sol#L31)\n\t-[x = x.div(10 ** uint256(adjustment * - 1))](contracts/utils/StableMath.sol#L33)\n", "id": "db2ef8c1daf9b02deedbcc86671a36b6336566289f0ec3f91ff45f5afe31fd91", "check": "divide-before-multiply", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "withdrawAll", "source_mapping": {"start": 2862, "length": 720, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompoundStrategy", "source_mapping": {"start": 382, "length": 7016, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [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], "starting_column": 1, "ending_column": 2}}, "signature": "withdrawAll()"}}, {"type": "node", "name": "require(bool,string)(cToken.redeem(cToken.balanceOf(address(this))) == 0,Redeem failed)", "source_mapping": {"start": 3168, "length": 135, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [87, 88, 89, 90], "starting_column": 17, "ending_column": 18}, "type_specific_fields": {"parent": {"type": "function", "name": "withdrawAll", "source_mapping": {"start": 2862, "length": 720, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompoundStrategy", "source_mapping": {"start": 382, "length": 7016, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [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], "starting_column": 1, "ending_column": 2}}, "signature": "withdrawAll()"}}}}], "description": "CompoundStrategy.withdrawAll() (contracts/strategies/CompoundStrategy.sol#82-99) uses a dangerous strict equality:\n\t- require(bool,string)(cToken.redeem(cToken.balanceOf(address(this))) == 0,Redeem failed) (contracts/strategies/CompoundStrategy.sol#87-90)\n", "markdown": "[CompoundStrategy.withdrawAll()](contracts/strategies/CompoundStrategy.sol#L82-L99) uses a dangerous strict equality:\n\t- [require(bool,string)(cToken.redeem(cToken.balanceOf(address(this))) == 0,Redeem failed)](contracts/strategies/CompoundStrategy.sol#L87-L90)\n", "id": "5dce02849df598583a9b3a98ec07f6415c6f4d1dac892a6807845e3f68e3f38f", "check": "incorrect-equality", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "function", "name": "balanceOf", "source_mapping": {"start": 2744, "length": 223, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [83, 84, 85, 86, 87], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OUSD", "source_mapping": {"start": 829, "length": 17607, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 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], "starting_column": 1, "ending_column": 2}}, "signature": "balanceOf(address)"}}, {"type": "node", "name": "_creditBalances[_account] == 0", "source_mapping": {"start": 2825, "length": 30, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [84], "starting_column": 13, "ending_column": 43}, "type_specific_fields": {"parent": {"type": "function", "name": "balanceOf", "source_mapping": {"start": 2744, "length": 223, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [83, 84, 85, 86, 87], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OUSD", "source_mapping": {"start": 829, "length": 17607, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 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], "starting_column": 1, "ending_column": 2}}, "signature": "balanceOf(address)"}}}}], "description": "OUSD.balanceOf(address) (contracts/token/OUSD.sol#83-87) uses a dangerous strict equality:\n\t- _creditBalances[_account] == 0 (contracts/token/OUSD.sol#84)\n", "markdown": "[OUSD.balanceOf(address)](contracts/token/OUSD.sol#L83-L87) uses a dangerous strict equality:\n\t- [_creditBalances[_account] == 0](contracts/token/OUSD.sol#L84)\n", "id": "ccb46234e07af49545e8f6ec6328d958fa1c2f6c5bc4170dbf99f57e4003ebeb", "check": "incorrect-equality", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "function", "name": "balanceOf", "source_mapping": {"start": 2849, "length": 223, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [87, 88, 89, 90, 91], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OUSD", "source_mapping": {"start": 829, "length": 16903, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 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], "starting_column": 1, "ending_column": 2}}, "signature": "balanceOf(address)"}}, {"type": "node", "name": "_creditBalances[_account] == 0", "source_mapping": {"start": 2930, "length": 30, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [88], "starting_column": 13, "ending_column": 43}, "type_specific_fields": {"parent": {"type": "function", "name": "balanceOf", "source_mapping": {"start": 2849, "length": 223, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [87, 88, 89, 90, 91], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OUSD", "source_mapping": {"start": 829, "length": 16903, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 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], "starting_column": 1, "ending_column": 2}}, "signature": "balanceOf(address)"}}}}], "description": "OUSD.balanceOf(address) (contracts/token/OUSD.sol#87-91) uses a dangerous strict equality:\n\t- _creditBalances[_account] == 0 (contracts/token/OUSD.sol#88)\n", "markdown": "[OUSD.balanceOf(address)](contracts/token/OUSD.sol#L87-L91) uses a dangerous strict equality:\n\t- [_creditBalances[_account] == 0](contracts/token/OUSD.sol#L88)\n", "id": "ac0ff05bcf967595b64b2a24b53884cfca5e30e06792da3ba40104ab169d77a4", "check": "incorrect-equality", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "contract", "name": "InitializableAbstractStrategy", "source_mapping": {"start": 396, "length": 8222, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262], "starting_column": 1, "ending_column": 2}}, {"type": "node", "name": "assetsMapped.push(_asset)", "source_mapping": {"start": 6476, "length": 25, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [193], "starting_column": 9, "ending_column": 34}, "type_specific_fields": {"parent": {"type": "function", "name": "_setPTokenAddress", "source_mapping": {"start": 6160, "length": 438, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "InitializableAbstractStrategy", "source_mapping": {"start": 396, "length": 8222, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262], "starting_column": 1, "ending_column": 2}}, "signature": "_setPTokenAddress(address,address)"}}}}], "description": "InitializableAbstractStrategy (contracts/utils/InitializableAbstractStrategy.sol#12-262) contract sets array length with a user-controlled value:\n\t- assetsMapped.push(_asset) (contracts/utils/InitializableAbstractStrategy.sol#193)\n", "markdown": "[InitializableAbstractStrategy](contracts/utils/InitializableAbstractStrategy.sol#L12-L262) contract sets array length with a user-controlled value:\n\t- [assetsMapped.push(_asset)](contracts/utils/InitializableAbstractStrategy.sol#L193)\n", "id": "e99c44d951e76857b3f5bfc5cdccca773021441bfde515673b7eccdad421c7e3", "check": "controlled-array-length", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "executeTransaction", "source_mapping": {"start": 4393, "length": 1470, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/timelock/MinuteTimelock.sol", "filename_relative": "contracts/timelock/MinuteTimelock.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/timelock/MinuteTimelock.sol", "filename_short": "contracts/timelock/MinuteTimelock.sol", "is_dependency": false, "lines": [160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 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": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MinuteTimelock", "source_mapping": {"start": 300, "length": 5733, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/timelock/MinuteTimelock.sol", "filename_relative": "contracts/timelock/MinuteTimelock.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/timelock/MinuteTimelock.sol", "filename_short": "contracts/timelock/MinuteTimelock.sol", "is_dependency": false, "lines": [11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214], "starting_column": 1, "ending_column": 2}}, "signature": "executeTransaction(address,uint256,string,bytes,uint256)"}}, {"type": "node", "name": "(success,returnData) = target.call.value(value)(callData)", "source_mapping": {"start": 5526, "length": 98, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/timelock/MinuteTimelock.sol", "filename_relative": "contracts/timelock/MinuteTimelock.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/timelock/MinuteTimelock.sol", "filename_short": "contracts/timelock/MinuteTimelock.sol", "is_dependency": false, "lines": [197, 198, 199], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "executeTransaction", "source_mapping": {"start": 4393, "length": 1470, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/timelock/MinuteTimelock.sol", "filename_relative": "contracts/timelock/MinuteTimelock.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/timelock/MinuteTimelock.sol", "filename_short": "contracts/timelock/MinuteTimelock.sol", "is_dependency": false, "lines": [160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 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": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MinuteTimelock", "source_mapping": {"start": 300, "length": 5733, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/timelock/MinuteTimelock.sol", "filename_relative": "contracts/timelock/MinuteTimelock.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/timelock/MinuteTimelock.sol", "filename_short": "contracts/timelock/MinuteTimelock.sol", "is_dependency": false, "lines": [11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214], "starting_column": 1, "ending_column": 2}}, "signature": "executeTransaction(address,uint256,string,bytes,uint256)"}}}}], "description": "MinuteTimelock.executeTransaction(address,uint256,string,bytes,uint256) (contracts/timelock/MinuteTimelock.sol#160-208) sends eth to arbitrary user\n\tDangerous calls:\n\t- (success,returnData) = target.call.value(value)(callData) (contracts/timelock/MinuteTimelock.sol#197-199)\n", "markdown": "[MinuteTimelock.executeTransaction(address,uint256,string,bytes,uint256)](contracts/timelock/MinuteTimelock.sol#L160-L208) sends eth to arbitrary user\n\tDangerous calls:\n\t- [(success,returnData) = target.call.value(value)(callData)](contracts/timelock/MinuteTimelock.sol#L197-L199)\n", "id": "adb27b2223ce1f61a53972f79799586ca089e9afc5f2eacfe3b6af935426ae32", "check": "arbitrary-send", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "assets", "source_mapping": {"start": 1854, "length": 32, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [51], "starting_column": 5, "ending_column": 37}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 738, "length": 3013, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106], "starting_column": 1, "ending_column": 2}}}}, {"type": "function", "name": "mint", "source_mapping": {"start": 1313, "length": 1551, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 578, "length": 23987, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680], "starting_column": 1, "ending_column": 2}}, "signature": "mint(address,uint256,uint256)"}}, {"type": "function", "name": "mintMultiple", "source_mapping": {"start": 3165, "length": 2120, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 578, "length": 23987, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680], "starting_column": 1, "ending_column": 2}}, "signature": "mintMultiple(address[],uint256[],uint256)"}}, {"type": "function", "name": "isSupportedAsset", "source_mapping": {"start": 23379, "length": 121, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [647, 648, 649], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 578, "length": 23987, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680], "starting_column": 1, "ending_column": 2}}, "signature": "isSupportedAsset(address)"}}], "description": "VaultStorage.assets (contracts/vault/VaultStorage.sol#51) is never initialized. It is used in:\n\t- VaultCore.mint(address,uint256,uint256) (contracts/vault/VaultCore.sol#42-87)\n\t- VaultCore.mintMultiple(address[],uint256[],uint256) (contracts/vault/VaultCore.sol#96-153)\n\t- VaultCore.isSupportedAsset(address) (contracts/vault/VaultCore.sol#647-649)\n", "markdown": "[VaultStorage.assets](contracts/vault/VaultStorage.sol#L51) is never initialized. It is used in:\n\t- [VaultCore.mint(address,uint256,uint256)](contracts/vault/VaultCore.sol#L42-L87)\n\t- [VaultCore.mintMultiple(address[],uint256[],uint256)](contracts/vault/VaultCore.sol#L96-L153)\n\t- [VaultCore.isSupportedAsset(address)](contracts/vault/VaultCore.sol#L647-L649)\n", "id": "b5f535d2516b1f696e381fc7ef334ac08dab475e61c7fd193ef8eb0498172128", "check": "uninitialized-state", "impact": "High", "confidence": "High"}, {"elements": [{"type": "variable", "name": "allAssets", "source_mapping": {"start": 1892, "length": 19, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [52], "starting_column": 5, "ending_column": 24}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 738, "length": 3013, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106], "starting_column": 1, "ending_column": 2}}}}, {"type": "function", "name": "mintMultiple", "source_mapping": {"start": 3165, "length": 2120, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 578, "length": 23987, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680], "starting_column": 1, "ending_column": 2}}, "signature": "mintMultiple(address[],uint256[],uint256)"}}, {"type": "function", "name": "_redeem", "source_mapping": {"start": 5959, "length": 2568, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 578, "length": 23987, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680], "starting_column": 1, "ending_column": 2}}, "signature": "_redeem(uint256,uint256)"}}, {"type": "function", "name": "_allocate", "source_mapping": {"start": 9491, "length": 3809, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 578, "length": 23987, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680], "starting_column": 1, "ending_column": 2}}, "signature": "_allocate()"}}, {"type": "function", "name": "_totalValueInVault", "source_mapping": {"start": 14993, "length": 456, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 578, "length": 23987, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680], "starting_column": 1, "ending_column": 2}}, "signature": "_totalValueInVault()"}}, {"type": "function", "name": "_totalValueInStrategy", "source_mapping": {"start": 16033, "length": 605, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 578, "length": 23987, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680], "starting_column": 1, "ending_column": 2}}, "signature": "_totalValueInStrategy(address)"}}, {"type": "function", "name": "_checkBalance", "source_mapping": {"start": 17760, "length": 347, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [491, 492, 493, 494, 495, 496, 497, 498, 499], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 578, "length": 23987, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680], "starting_column": 1, "ending_column": 2}}, "signature": "_checkBalance()"}}, {"type": "function", "name": "_calculateRedeemOutputs", "source_mapping": {"start": 18615, "length": 3196, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 578, "length": 23987, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680], "starting_column": 1, "ending_column": 2}}, "signature": "_calculateRedeemOutputs(uint256)"}}, {"type": "function", "name": "_getAssetPrices", "source_mapping": {"start": 21960, "length": 754, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 578, "length": 23987, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680], "starting_column": 1, "ending_column": 2}}, "signature": "_getAssetPrices(bool)"}}, {"type": "function", "name": "getAssetCount", "source_mapping": {"start": 22919, "length": 95, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [629, 630, 631], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 578, "length": 23987, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680], "starting_column": 1, "ending_column": 2}}, "signature": "getAssetCount()"}}, {"type": "function", "name": "getAllAssets", "source_mapping": {"start": 23084, "length": 98, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [636, 637, 638], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 578, "length": 23987, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680], "starting_column": 1, "ending_column": 2}}, "signature": "getAllAssets()"}}], "description": "VaultStorage.allAssets (contracts/vault/VaultStorage.sol#52) is never initialized. It is used in:\n\t- VaultCore.mintMultiple(address[],uint256[],uint256) (contracts/vault/VaultCore.sol#96-153)\n\t- VaultCore._redeem(uint256,uint256) (contracts/vault/VaultCore.sol#176-241)\n\t- VaultCore._allocate() (contracts/vault/VaultCore.sol#272-355)\n\t- VaultCore._totalValueInVault() (contracts/vault/VaultCore.sol#412-422)\n\t- VaultCore._totalValueInStrategy(address) (contracts/vault/VaultCore.sol#440-456)\n\t- VaultCore._checkBalance() (contracts/vault/VaultCore.sol#491-499)\n\t- VaultCore._calculateRedeemOutputs(uint256) (contracts/vault/VaultCore.sol#518-594)\n\t- VaultCore._getAssetPrices(bool) (contracts/vault/VaultCore.sol#600-620)\n\t- VaultCore.getAssetCount() (contracts/vault/VaultCore.sol#629-631)\n\t- VaultCore.getAllAssets() (contracts/vault/VaultCore.sol#636-638)\n", "markdown": "[VaultStorage.allAssets](contracts/vault/VaultStorage.sol#L52) is never initialized. It is used in:\n\t- [VaultCore.mintMultiple(address[],uint256[],uint256)](contracts/vault/VaultCore.sol#L96-L153)\n\t- [VaultCore._redeem(uint256,uint256)](contracts/vault/VaultCore.sol#L176-L241)\n\t- [VaultCore._allocate()](contracts/vault/VaultCore.sol#L272-L355)\n\t- [VaultCore._totalValueInVault()](contracts/vault/VaultCore.sol#L412-L422)\n\t- [VaultCore._totalValueInStrategy(address)](contracts/vault/VaultCore.sol#L440-L456)\n\t- [VaultCore._checkBalance()](contracts/vault/VaultCore.sol#L491-L499)\n\t- [VaultCore._calculateRedeemOutputs(uint256)](contracts/vault/VaultCore.sol#L518-L594)\n\t- [VaultCore._getAssetPrices(bool)](contracts/vault/VaultCore.sol#L600-L620)\n\t- [VaultCore.getAssetCount()](contracts/vault/VaultCore.sol#L629-L631)\n\t- [VaultCore.getAllAssets()](contracts/vault/VaultCore.sol#L636-L638)\n", "id": "a0bcee4b84d596e46f4bdc315977842c894250f10de805d7cb76ef572ecc6eed", "check": "uninitialized-state", "impact": "High", "confidence": "High"}, {"elements": [{"type": "variable", "name": "allStrategies", "source_mapping": {"start": 2121, "length": 23, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [60], "starting_column": 5, "ending_column": 28}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 738, "length": 3013, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106], "starting_column": 1, "ending_column": 2}}}}, {"type": "function", "name": "_allocate", "source_mapping": {"start": 9491, "length": 3809, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 578, "length": 23987, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680], "starting_column": 1, "ending_column": 2}}, "signature": "_allocate()"}}, {"type": "function", "name": "_totalValueInStrategies", "source_mapping": {"start": 15600, "length": 232, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [428, 429, 430, 431, 432, 433], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 578, "length": 23987, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680], "starting_column": 1, "ending_column": 2}}, "signature": "_totalValueInStrategies()"}}, {"type": "function", "name": "_checkBalance", "source_mapping": {"start": 17149, "length": 458, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 578, "length": 23987, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680], "starting_column": 1, "ending_column": 2}}, "signature": "_checkBalance(address)"}}, {"type": "function", "name": "getStrategyCount", "source_mapping": {"start": 23269, "length": 104, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [643, 644, 645], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 578, "length": 23987, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680], "starting_column": 1, "ending_column": 2}}, "signature": "getStrategyCount()"}}], "description": "VaultStorage.allStrategies (contracts/vault/VaultStorage.sol#60) is never initialized. It is used in:\n\t- VaultCore._allocate() (contracts/vault/VaultCore.sol#272-355)\n\t- VaultCore._totalValueInStrategies() (contracts/vault/VaultCore.sol#428-433)\n\t- VaultCore._checkBalance(address) (contracts/vault/VaultCore.sol#472-485)\n\t- VaultCore.getStrategyCount() (contracts/vault/VaultCore.sol#643-645)\n", "markdown": "[VaultStorage.allStrategies](contracts/vault/VaultStorage.sol#L60) is never initialized. It is used in:\n\t- [VaultCore._allocate()](contracts/vault/VaultCore.sol#L272-L355)\n\t- [VaultCore._totalValueInStrategies()](contracts/vault/VaultCore.sol#L428-L433)\n\t- [VaultCore._checkBalance(address)](contracts/vault/VaultCore.sol#L472-L485)\n\t- [VaultCore.getStrategyCount()](contracts/vault/VaultCore.sol#L643-L645)\n", "id": "ea3b2d51d5c7b49d49000d98c22ad2e6114ee9ddc5ae0a3dbca43230b1d86caa", "check": "uninitialized-state", "impact": "High", "confidence": "High"}, {"elements": [{"type": "variable", "name": "assetDefaultStrategies", "source_mapping": {"start": 3296, "length": 57, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [92], "starting_column": 5, "ending_column": 62}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 738, "length": 3013, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106], "starting_column": 1, "ending_column": 2}}}}, {"type": "function", "name": "_redeem", "source_mapping": {"start": 5959, "length": 2568, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 578, "length": 23987, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680], "starting_column": 1, "ending_column": 2}}, "signature": "_redeem(uint256,uint256)"}}, {"type": "function", "name": "_allocate", "source_mapping": {"start": 9491, "length": 3809, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 578, "length": 23987, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680], "starting_column": 1, "ending_column": 2}}, "signature": "_allocate()"}}], "description": "VaultStorage.assetDefaultStrategies (contracts/vault/VaultStorage.sol#92) is never initialized. It is used in:\n\t- VaultCore._redeem(uint256,uint256) (contracts/vault/VaultCore.sol#176-241)\n\t- VaultCore._allocate() (contracts/vault/VaultCore.sol#272-355)\n", "markdown": "[VaultStorage.assetDefaultStrategies](contracts/vault/VaultStorage.sol#L92) is never initialized. It is used in:\n\t- [VaultCore._redeem(uint256,uint256)](contracts/vault/VaultCore.sol#L176-L241)\n\t- [VaultCore._allocate()](contracts/vault/VaultCore.sol#L272-L355)\n", "id": "2a2b38bc90433cda7268d5e5e361bda99612c0a8a010cde7677ef881ee8366ee", "check": "uninitialized-state", "impact": "High", "confidence": "High"}, {"elements": [{"type": "function", "name": "balanceOf", "source_mapping": {"start": 3072, "length": 223, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [93, 94, 95, 96, 97], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OUSD", "source_mapping": {"start": 829, "length": 17126, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 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], "starting_column": 1, "ending_column": 2}}, "signature": "balanceOf(address)"}}, {"type": "node", "name": "_creditBalances[_account] == 0", "source_mapping": {"start": 3153, "length": 30, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [94], "starting_column": 13, "ending_column": 43}, "type_specific_fields": {"parent": {"type": "function", "name": "balanceOf", "source_mapping": {"start": 3072, "length": 223, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [93, 94, 95, 96, 97], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OUSD", "source_mapping": {"start": 829, "length": 17126, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 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], "starting_column": 1, "ending_column": 2}}, "signature": "balanceOf(address)"}}}}], "description": "OUSD.balanceOf(address) (contracts/token/OUSD.sol#93-97) uses a dangerous strict equality:\n\t- _creditBalances[_account] == 0 (contracts/token/OUSD.sol#94)\n", "markdown": "[OUSD.balanceOf(address)](contracts/token/OUSD.sol#L93-L97) uses a dangerous strict equality:\n\t- [_creditBalances[_account] == 0](contracts/token/OUSD.sol#L94)\n", "id": "a55a1e1f6ea78bddc5cbd6d68e5a4302d75fcd721b5a8c9f6966a014896ca1d4", "check": "incorrect-equality", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "function", "name": "updatePool", "source_mapping": {"start": 8912, "length": 759, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/liquidity/LiquidityReward.sol", "filename_relative": "contracts/liquidity/LiquidityReward.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/liquidity/LiquidityReward.sol", "filename_short": "contracts/liquidity/LiquidityReward.sol", "is_dependency": false, "lines": [244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "LiquidityReward", "source_mapping": {"start": 598, "length": 12500, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/liquidity/LiquidityReward.sol", "filename_relative": "contracts/liquidity/LiquidityReward.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/liquidity/LiquidityReward.sol", "filename_short": "contracts/liquidity/LiquidityReward.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, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372], "starting_column": 1, "ending_column": 2}}, "signature": "updatePool()"}}, {"type": "node", "name": "lpSupply == 0", "source_mapping": {"start": 9176, "length": 13, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/liquidity/LiquidityReward.sol", "filename_relative": "contracts/liquidity/LiquidityReward.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/liquidity/LiquidityReward.sol", "filename_short": "contracts/liquidity/LiquidityReward.sol", "is_dependency": false, "lines": [253], "starting_column": 13, "ending_column": 26}, "type_specific_fields": {"parent": {"type": "function", "name": "updatePool", "source_mapping": {"start": 8912, "length": 759, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/liquidity/LiquidityReward.sol", "filename_relative": "contracts/liquidity/LiquidityReward.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/liquidity/LiquidityReward.sol", "filename_short": "contracts/liquidity/LiquidityReward.sol", "is_dependency": false, "lines": [244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "LiquidityReward", "source_mapping": {"start": 598, "length": 12500, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/liquidity/LiquidityReward.sol", "filename_relative": "contracts/liquidity/LiquidityReward.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/liquidity/LiquidityReward.sol", "filename_short": "contracts/liquidity/LiquidityReward.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, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372], "starting_column": 1, "ending_column": 2}}, "signature": "updatePool()"}}}}], "description": "LiquidityReward.updatePool() (contracts/liquidity/LiquidityReward.sol#244-268) uses a dangerous strict equality:\n\t- lpSupply == 0 (contracts/liquidity/LiquidityReward.sol#253)\n", "markdown": "[LiquidityReward.updatePool()](contracts/liquidity/LiquidityReward.sol#L244-L268) uses a dangerous strict equality:\n\t- [lpSupply == 0](contracts/liquidity/LiquidityReward.sol#L253)\n", "id": "02a2415f185c8c7b03a0600221486a59fab7f3f7715fd500620d5d0e2e3637cc", "check": "incorrect-equality", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "function", "name": "_allocate", "source_mapping": {"start": 9491, "length": 3809, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 578, "length": 23987, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680], "starting_column": 1, "ending_column": 2}}, "signature": "_allocate()"}}, {"type": "node", "name": "assetBalance == 0", "source_mapping": {"start": 11170, "length": 17, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [309], "starting_column": 17, "ending_column": 34}, "type_specific_fields": {"parent": {"type": "function", "name": "_allocate", "source_mapping": {"start": 9491, "length": 3809, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 578, "length": 23987, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680], "starting_column": 1, "ending_column": 2}}, "signature": "_allocate()"}}}}], "description": "VaultCore._allocate() (contracts/vault/VaultCore.sol#272-355) uses a dangerous strict equality:\n\t- assetBalance == 0 (contracts/vault/VaultCore.sol#309)\n", "markdown": "[VaultCore._allocate()](contracts/vault/VaultCore.sol#L272-L355) uses a dangerous strict equality:\n\t- [assetBalance == 0](contracts/vault/VaultCore.sol#L309)\n", "id": "e076e0868789c4c8eac321fa296d864f811cdc98d51f0a6c652fad192cda236b", "check": "incorrect-equality", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "function", "name": "withdrawAll", "source_mapping": {"start": 2169, "length": 720, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompoundStrategy", "source_mapping": {"start": 319, "length": 6386, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [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], "starting_column": 1, "ending_column": 2}}, "signature": "withdrawAll()"}}, {"type": "node", "name": "require(bool,string)(cToken.redeem(cToken.balanceOf(address(this))) == 0,Redeem failed)", "source_mapping": {"start": 2475, "length": 135, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [71, 72, 73, 74], "starting_column": 17, "ending_column": 18}, "type_specific_fields": {"parent": {"type": "function", "name": "withdrawAll", "source_mapping": {"start": 2169, "length": 720, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompoundStrategy", "source_mapping": {"start": 319, "length": 6386, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [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], "starting_column": 1, "ending_column": 2}}, "signature": "withdrawAll()"}}}}], "description": "CompoundStrategy.withdrawAll() (contracts/strategies/CompoundStrategy.sol#66-83) uses a dangerous strict equality:\n\t- require(bool,string)(cToken.redeem(cToken.balanceOf(address(this))) == 0,Redeem failed) (contracts/strategies/CompoundStrategy.sol#71-74)\n", "markdown": "[CompoundStrategy.withdrawAll()](contracts/strategies/CompoundStrategy.sol#L66-L83) uses a dangerous strict equality:\n\t- [require(bool,string)(cToken.redeem(cToken.balanceOf(address(this))) == 0,Redeem failed)](contracts/strategies/CompoundStrategy.sol#L71-L74)\n", "id": "9e1c9a8960b5355a30be684d7838bfbc435e02b641fb93208cf2e5c248ac5db8", "check": "incorrect-equality", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "variable", "name": "_deprecated_nonRebasingCredits", "source_mapping": {"start": 1889, "length": 46, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [56], "starting_column": 5, "ending_column": 51}, "type_specific_fields": {"parent": {"type": "contract", "name": "OUSD", "source_mapping": {"start": 829, "length": 17126, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 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], "starting_column": 1, "ending_column": 2}}}}], "description": "OUSD._deprecated_nonRebasingCredits (contracts/token/OUSD.sol#56) should be constant\n", "markdown": "[OUSD._deprecated_nonRebasingCredits](contracts/token/OUSD.sol#L56) should be constant\n", "id": "d1ea4fe9408f80125156de9fe468a481994a6d08fef3b6b1933e37e2df899f9e", "check": "constable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "_deprecated_rebaseHooksAddr", "source_mapping": {"start": 2977, "length": 56, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [82], "starting_column": 5, "ending_column": 61}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 738, "length": 3013, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106], "starting_column": 1, "ending_column": 2}}}}], "description": "VaultStorage._deprecated_rebaseHooksAddr (contracts/vault/VaultStorage.sol#82) should be constant\n", "markdown": "[VaultStorage._deprecated_rebaseHooksAddr](contracts/vault/VaultStorage.sol#L82) should be constant\n", "id": "ed4ffd431fec4020c56a7e926083a9e68612827dfc15d7aabf73103cd7bcf2aa", "check": "constable-states", "impact": "Optimization", "confidence": "High"}] \ No newline at end of file +[{"elements": [{"type": "variable", "name": "_governor", "source_mapping": {"start": 1246, "length": 17, "filename_relative": "contracts/oracle/AuraWETHPriceFeed.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/oracle/AuraWETHPriceFeed.sol", "filename_short": "contracts/oracle/AuraWETHPriceFeed.sol", "is_dependency": false, "lines": [32], "starting_column": 50, "ending_column": 67}, "type_specific_fields": {"parent": {"type": "function", "name": "constructor", "source_mapping": {"start": 1201, "length": 183, "filename_relative": "contracts/oracle/AuraWETHPriceFeed.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/oracle/AuraWETHPriceFeed.sol", "filename_short": "contracts/oracle/AuraWETHPriceFeed.sol", "is_dependency": false, "lines": [32, 33, 34, 35], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AuraWETHPriceFeed", "source_mapping": {"start": 406, "length": 4614, "filename_relative": "contracts/oracle/AuraWETHPriceFeed.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/oracle/AuraWETHPriceFeed.sol", "filename_short": "contracts/oracle/AuraWETHPriceFeed.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167], "starting_column": 1, "ending_column": 2}}, "signature": "constructor(address,address)"}}}}, {"type": "function", "name": "_governor", "source_mapping": {"start": 1833, "length": 245, "filename_relative": "contracts/governance/Governable.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/Governable.sol", "filename_short": "contracts/governance/Governable.sol", "is_dependency": false, "lines": [57, 58, 59, 60, 61, 62, 63], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Governable", "source_mapping": {"start": 392, "length": 5356, "filename_relative": "contracts/governance/Governable.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/Governable.sol", "filename_short": "contracts/governance/Governable.sol", "is_dependency": false, "lines": [11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176], "starting_column": 1, "ending_column": 2}}, "signature": "_governor()"}}], "description": "AuraWETHPriceFeed.constructor(address,address)._governor (contracts/oracle/AuraWETHPriceFeed.sol#32) shadows:\n\t- Governable._governor() (contracts/governance/Governable.sol#57-63) (function)\n", "markdown": "[AuraWETHPriceFeed.constructor(address,address)._governor](contracts/oracle/AuraWETHPriceFeed.sol#L32) shadows:\n\t- [Governable._governor()](contracts/governance/Governable.sol#L57-L63) (function)\n", "first_markdown_element": "contracts/oracle/AuraWETHPriceFeed.sol#L32", "id": "a223e79f82097189aea22060f3d62b06118b6b8a7fa7cfc74ad08cadeb5dd607", "check": "shadowing-local", "impact": "Low", "confidence": "High"}, {"elements": [{"type": "function", "name": "setRewardTokenConfig", "source_mapping": {"start": 7018, "length": 3146, "filename_relative": "contracts/harvest/BaseHarvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/BaseHarvester.sol", "filename_short": "contracts/harvest/BaseHarvester.sol", "is_dependency": false, "lines": [176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseHarvester", "source_mapping": {"start": 947, "length": 25924, "filename_relative": "contracts/harvest/BaseHarvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/BaseHarvester.sol", "filename_short": "contracts/harvest/BaseHarvester.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740], "starting_column": 1, "ending_column": 2}}, "signature": "setRewardTokenConfig(address,BaseHarvester.RewardTokenConfig,bytes)"}}, {"type": "node", "name": "token.safeApprove(oldRouterAddress,0)", "source_mapping": {"start": 8340, "length": 38, "filename_relative": "contracts/harvest/BaseHarvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/BaseHarvester.sol", "filename_short": "contracts/harvest/BaseHarvester.sol", "is_dependency": false, "lines": [212], "starting_column": 13, "ending_column": 51}, "type_specific_fields": {"parent": {"type": "function", "name": "setRewardTokenConfig", "source_mapping": {"start": 7018, "length": 3146, "filename_relative": "contracts/harvest/BaseHarvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/BaseHarvester.sol", "filename_short": "contracts/harvest/BaseHarvester.sol", "is_dependency": false, "lines": [176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseHarvester", "source_mapping": {"start": 947, "length": 25924, "filename_relative": "contracts/harvest/BaseHarvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/BaseHarvester.sol", "filename_short": "contracts/harvest/BaseHarvester.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740], "starting_column": 1, "ending_column": 2}}, "signature": "setRewardTokenConfig(address,BaseHarvester.RewardTokenConfig,bytes)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "token.safeApprove(newRouterAddress,0)", "source_mapping": {"start": 8512, "length": 38, "filename_relative": "contracts/harvest/BaseHarvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/BaseHarvester.sol", "filename_short": "contracts/harvest/BaseHarvester.sol", "is_dependency": false, "lines": [217], "starting_column": 13, "ending_column": 51}, "type_specific_fields": {"parent": {"type": "function", "name": "setRewardTokenConfig", "source_mapping": {"start": 7018, "length": 3146, "filename_relative": "contracts/harvest/BaseHarvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/BaseHarvester.sol", "filename_short": "contracts/harvest/BaseHarvester.sol", "is_dependency": false, "lines": [176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseHarvester", "source_mapping": {"start": 947, "length": 25924, "filename_relative": "contracts/harvest/BaseHarvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/BaseHarvester.sol", "filename_short": "contracts/harvest/BaseHarvester.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740], "starting_column": 1, "ending_column": 2}}, "signature": "setRewardTokenConfig(address,BaseHarvester.RewardTokenConfig,bytes)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "token.safeApprove(newRouterAddress,type()(uint256).max)", "source_mapping": {"start": 8564, "length": 54, "filename_relative": "contracts/harvest/BaseHarvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/BaseHarvester.sol", "filename_short": "contracts/harvest/BaseHarvester.sol", "is_dependency": false, "lines": [218], "starting_column": 13, "ending_column": 67}, "type_specific_fields": {"parent": {"type": "function", "name": "setRewardTokenConfig", "source_mapping": {"start": 7018, "length": 3146, "filename_relative": "contracts/harvest/BaseHarvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/BaseHarvester.sol", "filename_short": "contracts/harvest/BaseHarvester.sol", "is_dependency": false, "lines": [176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseHarvester", "source_mapping": {"start": 947, "length": 25924, "filename_relative": "contracts/harvest/BaseHarvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/BaseHarvester.sol", "filename_short": "contracts/harvest/BaseHarvester.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740], "starting_column": 1, "ending_column": 2}}, "signature": "setRewardTokenConfig(address,BaseHarvester.RewardTokenConfig,bytes)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "token.safeApprove(oldRouterAddress,0)", "source_mapping": {"start": 8340, "length": 38, "filename_relative": "contracts/harvest/BaseHarvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/BaseHarvester.sol", "filename_short": "contracts/harvest/BaseHarvester.sol", "is_dependency": false, "lines": [212], "starting_column": 13, "ending_column": 51}, "type_specific_fields": {"parent": {"type": "function", "name": "setRewardTokenConfig", "source_mapping": {"start": 7018, "length": 3146, "filename_relative": "contracts/harvest/BaseHarvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/BaseHarvester.sol", "filename_short": "contracts/harvest/BaseHarvester.sol", "is_dependency": false, "lines": [176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseHarvester", "source_mapping": {"start": 947, "length": 25924, "filename_relative": "contracts/harvest/BaseHarvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/BaseHarvester.sol", "filename_short": "contracts/harvest/BaseHarvester.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740], "starting_column": 1, "ending_column": 2}}, "signature": "setRewardTokenConfig(address,BaseHarvester.RewardTokenConfig,bytes)"}}}, "additional_fields": {"underlying_type": "external_calls_sending_eth"}}, {"type": "node", "name": "token.safeApprove(newRouterAddress,0)", "source_mapping": {"start": 8512, "length": 38, "filename_relative": "contracts/harvest/BaseHarvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/BaseHarvester.sol", "filename_short": "contracts/harvest/BaseHarvester.sol", "is_dependency": false, "lines": [217], "starting_column": 13, "ending_column": 51}, "type_specific_fields": {"parent": {"type": "function", "name": "setRewardTokenConfig", "source_mapping": {"start": 7018, "length": 3146, "filename_relative": "contracts/harvest/BaseHarvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/BaseHarvester.sol", "filename_short": "contracts/harvest/BaseHarvester.sol", "is_dependency": false, "lines": [176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseHarvester", "source_mapping": {"start": 947, "length": 25924, "filename_relative": "contracts/harvest/BaseHarvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/BaseHarvester.sol", "filename_short": "contracts/harvest/BaseHarvester.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740], "starting_column": 1, "ending_column": 2}}, "signature": "setRewardTokenConfig(address,BaseHarvester.RewardTokenConfig,bytes)"}}}, "additional_fields": {"underlying_type": "external_calls_sending_eth"}}, {"type": "node", "name": "token.safeApprove(newRouterAddress,type()(uint256).max)", "source_mapping": {"start": 8564, "length": 54, "filename_relative": "contracts/harvest/BaseHarvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/BaseHarvester.sol", "filename_short": "contracts/harvest/BaseHarvester.sol", "is_dependency": false, "lines": [218], "starting_column": 13, "ending_column": 67}, "type_specific_fields": {"parent": {"type": "function", "name": "setRewardTokenConfig", "source_mapping": {"start": 7018, "length": 3146, "filename_relative": "contracts/harvest/BaseHarvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/BaseHarvester.sol", "filename_short": "contracts/harvest/BaseHarvester.sol", "is_dependency": false, "lines": [176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseHarvester", "source_mapping": {"start": 947, "length": 25924, "filename_relative": "contracts/harvest/BaseHarvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/BaseHarvester.sol", "filename_short": "contracts/harvest/BaseHarvester.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740], "starting_column": 1, "ending_column": 2}}, "signature": "setRewardTokenConfig(address,BaseHarvester.RewardTokenConfig,bytes)"}}}, "additional_fields": {"underlying_type": "external_calls_sending_eth"}}, {"type": "node", "name": "balancerPoolId[_tokenAddress] = _decodeBalancerPoolId(swapData,newRouterAddress,_tokenAddress)", "source_mapping": {"start": 9150, "length": 158, "filename_relative": "contracts/harvest/BaseHarvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/BaseHarvester.sol", "filename_short": "contracts/harvest/BaseHarvester.sol", "is_dependency": false, "lines": [233, 234, 235, 236, 237], "starting_column": 13, "ending_column": 14}, "type_specific_fields": {"parent": {"type": "function", "name": "setRewardTokenConfig", "source_mapping": {"start": 7018, "length": 3146, "filename_relative": "contracts/harvest/BaseHarvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/BaseHarvester.sol", "filename_short": "contracts/harvest/BaseHarvester.sol", "is_dependency": false, "lines": [176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseHarvester", "source_mapping": {"start": 947, "length": 25924, "filename_relative": "contracts/harvest/BaseHarvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/BaseHarvester.sol", "filename_short": "contracts/harvest/BaseHarvester.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740], "starting_column": 1, "ending_column": 2}}, "signature": "setRewardTokenConfig(address,BaseHarvester.RewardTokenConfig,bytes)"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "balancerPoolId"}}, {"type": "node", "name": "curvePoolIndices[_tokenAddress] = _decodeCurvePoolIndices(swapData,newRouterAddress,_tokenAddress)", "source_mapping": {"start": 9376, "length": 162, "filename_relative": "contracts/harvest/BaseHarvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/BaseHarvester.sol", "filename_short": "contracts/harvest/BaseHarvester.sol", "is_dependency": false, "lines": [239, 240, 241, 242, 243], "starting_column": 13, "ending_column": 14}, "type_specific_fields": {"parent": {"type": "function", "name": "setRewardTokenConfig", "source_mapping": {"start": 7018, "length": 3146, "filename_relative": "contracts/harvest/BaseHarvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/BaseHarvester.sol", "filename_short": "contracts/harvest/BaseHarvester.sol", "is_dependency": false, "lines": [176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseHarvester", "source_mapping": {"start": 947, "length": 25924, "filename_relative": "contracts/harvest/BaseHarvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/BaseHarvester.sol", "filename_short": "contracts/harvest/BaseHarvester.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740], "starting_column": 1, "ending_column": 2}}, "signature": "setRewardTokenConfig(address,BaseHarvester.RewardTokenConfig,bytes)"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "curvePoolIndices"}}, {"type": "node", "name": "uniswapV2Path[_tokenAddress] = _decodeUniswapV2Path(swapData,_tokenAddress)", "source_mapping": {"start": 8763, "length": 122, "filename_relative": "contracts/harvest/BaseHarvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/BaseHarvester.sol", "filename_short": "contracts/harvest/BaseHarvester.sol", "is_dependency": false, "lines": [223, 224, 225, 226], "starting_column": 13, "ending_column": 14}, "type_specific_fields": {"parent": {"type": "function", "name": "setRewardTokenConfig", "source_mapping": {"start": 7018, "length": 3146, "filename_relative": "contracts/harvest/BaseHarvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/BaseHarvester.sol", "filename_short": "contracts/harvest/BaseHarvester.sol", "is_dependency": false, "lines": [176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseHarvester", "source_mapping": {"start": 947, "length": 25924, "filename_relative": "contracts/harvest/BaseHarvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/BaseHarvester.sol", "filename_short": "contracts/harvest/BaseHarvester.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740], "starting_column": 1, "ending_column": 2}}, "signature": "setRewardTokenConfig(address,BaseHarvester.RewardTokenConfig,bytes)"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "uniswapV2Path"}}, {"type": "node", "name": "uniswapV3Path[_tokenAddress] = _decodeUniswapV3Path(swapData,_tokenAddress)", "source_mapping": {"start": 8957, "length": 122, "filename_relative": "contracts/harvest/BaseHarvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/BaseHarvester.sol", "filename_short": "contracts/harvest/BaseHarvester.sol", "is_dependency": false, "lines": [228, 229, 230, 231], "starting_column": 13, "ending_column": 14}, "type_specific_fields": {"parent": {"type": "function", "name": "setRewardTokenConfig", "source_mapping": {"start": 7018, "length": 3146, "filename_relative": "contracts/harvest/BaseHarvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/BaseHarvester.sol", "filename_short": "contracts/harvest/BaseHarvester.sol", "is_dependency": false, "lines": [176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseHarvester", "source_mapping": {"start": 947, "length": 25924, "filename_relative": "contracts/harvest/BaseHarvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/BaseHarvester.sol", "filename_short": "contracts/harvest/BaseHarvester.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740], "starting_column": 1, "ending_column": 2}}, "signature": "setRewardTokenConfig(address,BaseHarvester.RewardTokenConfig,bytes)"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "uniswapV3Path"}}], "description": "Reentrancy in BaseHarvester.setRewardTokenConfig(address,BaseHarvester.RewardTokenConfig,bytes) (contracts/harvest/BaseHarvester.sol#176-261):\n\tExternal calls:\n\t- token.safeApprove(oldRouterAddress,0) (contracts/harvest/BaseHarvester.sol#212)\n\t- token.safeApprove(newRouterAddress,0) (contracts/harvest/BaseHarvester.sol#217)\n\t- token.safeApprove(newRouterAddress,type()(uint256).max) (contracts/harvest/BaseHarvester.sol#218)\n\tState variables written after the call(s):\n\t- balancerPoolId[_tokenAddress] = _decodeBalancerPoolId(swapData,newRouterAddress,_tokenAddress) (contracts/harvest/BaseHarvester.sol#233-237)\n\t- curvePoolIndices[_tokenAddress] = _decodeCurvePoolIndices(swapData,newRouterAddress,_tokenAddress) (contracts/harvest/BaseHarvester.sol#239-243)\n\t- uniswapV2Path[_tokenAddress] = _decodeUniswapV2Path(swapData,_tokenAddress) (contracts/harvest/BaseHarvester.sol#223-226)\n\t- uniswapV3Path[_tokenAddress] = _decodeUniswapV3Path(swapData,_tokenAddress) (contracts/harvest/BaseHarvester.sol#228-231)\n", "markdown": "Reentrancy in [BaseHarvester.setRewardTokenConfig(address,BaseHarvester.RewardTokenConfig,bytes)](contracts/harvest/BaseHarvester.sol#L176-L261):\n\tExternal calls:\n\t- [token.safeApprove(oldRouterAddress,0)](contracts/harvest/BaseHarvester.sol#L212)\n\t- [token.safeApprove(newRouterAddress,0)](contracts/harvest/BaseHarvester.sol#L217)\n\t- [token.safeApprove(newRouterAddress,type()(uint256).max)](contracts/harvest/BaseHarvester.sol#L218)\n\tState variables written after the call(s):\n\t- [balancerPoolId[_tokenAddress] = _decodeBalancerPoolId(swapData,newRouterAddress,_tokenAddress)](contracts/harvest/BaseHarvester.sol#L233-L237)\n\t- [curvePoolIndices[_tokenAddress] = _decodeCurvePoolIndices(swapData,newRouterAddress,_tokenAddress)](contracts/harvest/BaseHarvester.sol#L239-L243)\n\t- [uniswapV2Path[_tokenAddress] = _decodeUniswapV2Path(swapData,_tokenAddress)](contracts/harvest/BaseHarvester.sol#L223-L226)\n\t- [uniswapV3Path[_tokenAddress] = _decodeUniswapV3Path(swapData,_tokenAddress)](contracts/harvest/BaseHarvester.sol#L228-L231)\n", "first_markdown_element": "contracts/harvest/BaseHarvester.sol#L176-L261", "id": "250c7d60d3e29831db3447aa26b05404aa2b6c681168062cd8cb4fcd11aa1945", "check": "reentrancy-benign", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "setRewardTokenConfig", "source_mapping": {"start": 7018, "length": 3146, "filename_relative": "contracts/harvest/BaseHarvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/BaseHarvester.sol", "filename_short": "contracts/harvest/BaseHarvester.sol", "is_dependency": false, "lines": [176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseHarvester", "source_mapping": {"start": 947, "length": 25924, "filename_relative": "contracts/harvest/BaseHarvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/BaseHarvester.sol", "filename_short": "contracts/harvest/BaseHarvester.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740], "starting_column": 1, "ending_column": 2}}, "signature": "setRewardTokenConfig(address,BaseHarvester.RewardTokenConfig,bytes)"}}, {"type": "node", "name": "token.safeApprove(oldRouterAddress,0)", "source_mapping": {"start": 8340, "length": 38, "filename_relative": "contracts/harvest/BaseHarvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/BaseHarvester.sol", "filename_short": "contracts/harvest/BaseHarvester.sol", "is_dependency": false, "lines": [212], "starting_column": 13, "ending_column": 51}, "type_specific_fields": {"parent": {"type": "function", "name": "setRewardTokenConfig", "source_mapping": {"start": 7018, "length": 3146, "filename_relative": "contracts/harvest/BaseHarvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/BaseHarvester.sol", "filename_short": "contracts/harvest/BaseHarvester.sol", "is_dependency": false, "lines": [176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseHarvester", "source_mapping": {"start": 947, "length": 25924, "filename_relative": "contracts/harvest/BaseHarvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/BaseHarvester.sol", "filename_short": "contracts/harvest/BaseHarvester.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740], "starting_column": 1, "ending_column": 2}}, "signature": "setRewardTokenConfig(address,BaseHarvester.RewardTokenConfig,bytes)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "token.safeApprove(newRouterAddress,0)", "source_mapping": {"start": 8512, "length": 38, "filename_relative": "contracts/harvest/BaseHarvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/BaseHarvester.sol", "filename_short": "contracts/harvest/BaseHarvester.sol", "is_dependency": false, "lines": [217], "starting_column": 13, "ending_column": 51}, "type_specific_fields": {"parent": {"type": "function", "name": "setRewardTokenConfig", "source_mapping": {"start": 7018, "length": 3146, "filename_relative": "contracts/harvest/BaseHarvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/BaseHarvester.sol", "filename_short": "contracts/harvest/BaseHarvester.sol", "is_dependency": false, "lines": [176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseHarvester", "source_mapping": {"start": 947, "length": 25924, "filename_relative": "contracts/harvest/BaseHarvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/BaseHarvester.sol", "filename_short": "contracts/harvest/BaseHarvester.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740], "starting_column": 1, "ending_column": 2}}, "signature": "setRewardTokenConfig(address,BaseHarvester.RewardTokenConfig,bytes)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "token.safeApprove(newRouterAddress,type()(uint256).max)", "source_mapping": {"start": 8564, "length": 54, "filename_relative": "contracts/harvest/BaseHarvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/BaseHarvester.sol", "filename_short": "contracts/harvest/BaseHarvester.sol", "is_dependency": false, "lines": [218], "starting_column": 13, "ending_column": 67}, "type_specific_fields": {"parent": {"type": "function", "name": "setRewardTokenConfig", "source_mapping": {"start": 7018, "length": 3146, "filename_relative": "contracts/harvest/BaseHarvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/BaseHarvester.sol", "filename_short": "contracts/harvest/BaseHarvester.sol", "is_dependency": false, "lines": [176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseHarvester", "source_mapping": {"start": 947, "length": 25924, "filename_relative": "contracts/harvest/BaseHarvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/BaseHarvester.sol", "filename_short": "contracts/harvest/BaseHarvester.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740], "starting_column": 1, "ending_column": 2}}, "signature": "setRewardTokenConfig(address,BaseHarvester.RewardTokenConfig,bytes)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "RewardTokenConfigUpdated(_tokenAddress,tokenConfig.allowedSlippageBps,tokenConfig.harvestRewardBps,_platform,newRouterAddress,swapData,tokenConfig.liquidationLimit,tokenConfig.doSwapRewardToken)", "source_mapping": {"start": 9845, "length": 312, "filename_relative": "contracts/harvest/BaseHarvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/BaseHarvester.sol", "filename_short": "contracts/harvest/BaseHarvester.sol", "is_dependency": false, "lines": [251, 252, 253, 254, 255, 256, 257, 258, 259, 260], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "setRewardTokenConfig", "source_mapping": {"start": 7018, "length": 3146, "filename_relative": "contracts/harvest/BaseHarvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/BaseHarvester.sol", "filename_short": "contracts/harvest/BaseHarvester.sol", "is_dependency": false, "lines": [176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseHarvester", "source_mapping": {"start": 947, "length": 25924, "filename_relative": "contracts/harvest/BaseHarvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/BaseHarvester.sol", "filename_short": "contracts/harvest/BaseHarvester.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740], "starting_column": 1, "ending_column": 2}}, "signature": "setRewardTokenConfig(address,BaseHarvester.RewardTokenConfig,bytes)"}}}, "additional_fields": {"underlying_type": "event"}}], "description": "Reentrancy in BaseHarvester.setRewardTokenConfig(address,BaseHarvester.RewardTokenConfig,bytes) (contracts/harvest/BaseHarvester.sol#176-261):\n\tExternal calls:\n\t- token.safeApprove(oldRouterAddress,0) (contracts/harvest/BaseHarvester.sol#212)\n\t- token.safeApprove(newRouterAddress,0) (contracts/harvest/BaseHarvester.sol#217)\n\t- token.safeApprove(newRouterAddress,type()(uint256).max) (contracts/harvest/BaseHarvester.sol#218)\n\tEvent emitted after the call(s):\n\t- RewardTokenConfigUpdated(_tokenAddress,tokenConfig.allowedSlippageBps,tokenConfig.harvestRewardBps,_platform,newRouterAddress,swapData,tokenConfig.liquidationLimit,tokenConfig.doSwapRewardToken) (contracts/harvest/BaseHarvester.sol#251-260)\n", "markdown": "Reentrancy in [BaseHarvester.setRewardTokenConfig(address,BaseHarvester.RewardTokenConfig,bytes)](contracts/harvest/BaseHarvester.sol#L176-L261):\n\tExternal calls:\n\t- [token.safeApprove(oldRouterAddress,0)](contracts/harvest/BaseHarvester.sol#L212)\n\t- [token.safeApprove(newRouterAddress,0)](contracts/harvest/BaseHarvester.sol#L217)\n\t- [token.safeApprove(newRouterAddress,type()(uint256).max)](contracts/harvest/BaseHarvester.sol#L218)\n\tEvent emitted after the call(s):\n\t- [RewardTokenConfigUpdated(_tokenAddress,tokenConfig.allowedSlippageBps,tokenConfig.harvestRewardBps,_platform,newRouterAddress,swapData,tokenConfig.liquidationLimit,tokenConfig.doSwapRewardToken)](contracts/harvest/BaseHarvester.sol#L251-L260)\n", "first_markdown_element": "contracts/harvest/BaseHarvester.sol#L176-L261", "id": "1d4623cdd28cf62f53a17de15ee2e626bce2ac0f2b3fe387b2b2639864d808e5", "check": "reentrancy-events", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "price", "source_mapping": {"start": 829, "length": 751, "filename_relative": "contracts/oracle/OETHOracleRouter.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/oracle/OETHOracleRouter.sol", "filename_short": "contracts/oracle/OETHOracleRouter.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OETHOracleRouter", "source_mapping": {"start": 291, "length": 4265, "filename_relative": "contracts/oracle/OETHOracleRouter.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/oracle/OETHOracleRouter.sol", "filename_short": "contracts/oracle/OETHOracleRouter.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112], "starting_column": 1, "ending_column": 2}}, "signature": "price(address)"}}, {"type": "node", "name": "require(bool,string)(updatedAt + maxStaleness >= block.timestamp,Oracle price too old)", "source_mapping": {"start": 1329, "length": 110, "filename_relative": "contracts/oracle/OETHOracleRouter.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/oracle/OETHOracleRouter.sol", "filename_short": "contracts/oracle/OETHOracleRouter.sol", "is_dependency": false, "lines": [42, 43, 44, 45], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "price", "source_mapping": {"start": 829, "length": 751, "filename_relative": "contracts/oracle/OETHOracleRouter.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/oracle/OETHOracleRouter.sol", "filename_short": "contracts/oracle/OETHOracleRouter.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OETHOracleRouter", "source_mapping": {"start": 291, "length": 4265, "filename_relative": "contracts/oracle/OETHOracleRouter.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/oracle/OETHOracleRouter.sol", "filename_short": "contracts/oracle/OETHOracleRouter.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112], "starting_column": 1, "ending_column": 2}}, "signature": "price(address)"}}}}], "description": "OETHOracleRouter.price(address) (contracts/oracle/OETHOracleRouter.sol#25-50) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- require(bool,string)(updatedAt + maxStaleness >= block.timestamp,Oracle price too old) (contracts/oracle/OETHOracleRouter.sol#42-45)\n", "markdown": "[OETHOracleRouter.price(address)](contracts/oracle/OETHOracleRouter.sol#L25-L50) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [require(bool,string)(updatedAt + maxStaleness >= block.timestamp,Oracle price too old)](contracts/oracle/OETHOracleRouter.sol#L42-L45)\n", "first_markdown_element": "contracts/oracle/OETHOracleRouter.sol#L25-L50", "id": "ddb46c9d4349182fa8a1ca6a35c8da78d299db7ee58dc6aedcb9a536879e9247", "check": "timestamp", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "price", "source_mapping": {"start": 1593, "length": 945, "filename_relative": "contracts/oracle/OracleRouterBase.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/oracle/OracleRouterBase.sol", "filename_short": "contracts/oracle/OracleRouterBase.sol", "is_dependency": false, "lines": [41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OracleRouterBase", "source_mapping": {"start": 429, "length": 3391, "filename_relative": "contracts/oracle/OracleRouterBase.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/oracle/OracleRouterBase.sol", "filename_short": "contracts/oracle/OracleRouterBase.sol", "is_dependency": false, "lines": [11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101], "starting_column": 1, "ending_column": 2}}, "signature": "price(address)"}}, {"type": "node", "name": "require(bool,string)(updatedAt + maxStaleness >= block.timestamp,Oracle price too old)", "source_mapping": {"start": 2096, "length": 110, "filename_relative": "contracts/oracle/OracleRouterBase.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/oracle/OracleRouterBase.sol", "filename_short": "contracts/oracle/OracleRouterBase.sol", "is_dependency": false, "lines": [56, 57, 58, 59], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "price", "source_mapping": {"start": 1593, "length": 945, "filename_relative": "contracts/oracle/OracleRouterBase.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/oracle/OracleRouterBase.sol", "filename_short": "contracts/oracle/OracleRouterBase.sol", "is_dependency": false, "lines": [41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OracleRouterBase", "source_mapping": {"start": 429, "length": 3391, "filename_relative": "contracts/oracle/OracleRouterBase.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/oracle/OracleRouterBase.sol", "filename_short": "contracts/oracle/OracleRouterBase.sol", "is_dependency": false, "lines": [11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101], "starting_column": 1, "ending_column": 2}}, "signature": "price(address)"}}}}], "description": "OracleRouterBase.price(address) (contracts/oracle/OracleRouterBase.sol#41-69) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- require(bool,string)(updatedAt + maxStaleness >= block.timestamp,Oracle price too old) (contracts/oracle/OracleRouterBase.sol#56-59)\n", "markdown": "[OracleRouterBase.price(address)](contracts/oracle/OracleRouterBase.sol#L41-L69) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [require(bool,string)(updatedAt + maxStaleness >= block.timestamp,Oracle price too old)](contracts/oracle/OracleRouterBase.sol#L56-L59)\n", "first_markdown_element": "contracts/oracle/OracleRouterBase.sol#L41-L69", "id": "136d60634a1b0623144b2d40e3904c31eff464883ca6e3d2ce5164a6373e7344", "check": "timestamp", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "stake", "source_mapping": {"start": 3291, "length": 31, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [102], "starting_column": 13, "ending_column": 44}, "type_specific_fields": {"parent": {"type": "function", "name": "_totalExpectedRewards", "source_mapping": {"start": 3102, "length": 355, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SingleAssetStaking", "source_mapping": {"start": 466, "length": 18304, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562], "starting_column": 1, "ending_column": 2}}, "signature": "_totalExpectedRewards(SingleAssetStaking.Stake[])"}}}}, {"type": "function", "name": "stake", "source_mapping": {"start": 12724, "length": 242, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [395, 396, 397, 398], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SingleAssetStaking", "source_mapping": {"start": 466, "length": 18304, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562], "starting_column": 1, "ending_column": 2}}, "signature": "stake(uint256,uint256)"}}], "description": "SingleAssetStaking._totalExpectedRewards(SingleAssetStaking.Stake[]).stake (contracts/staking/SingleAssetStaking.sol#102) shadows:\n\t- SingleAssetStaking.stake(uint256,uint256) (contracts/staking/SingleAssetStaking.sol#395-398) (function)\n", "markdown": "[SingleAssetStaking._totalExpectedRewards(SingleAssetStaking.Stake[]).stake](contracts/staking/SingleAssetStaking.sol#L102) shadows:\n\t- [SingleAssetStaking.stake(uint256,uint256)](contracts/staking/SingleAssetStaking.sol#L395-L398) (function)\n", "first_markdown_element": "contracts/staking/SingleAssetStaking.sol#L102", "id": "9dd73390f49ff67e6e64cecf07ea5149b70961078f41623d7a34e220ac804056", "check": "shadowing-local", "impact": "Low", "confidence": "High"}, {"elements": [{"type": "variable", "name": "_stake", "source_mapping": {"start": 3487, "length": 20, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [109], "starting_column": 29, "ending_column": 49}, "type_specific_fields": {"parent": {"type": "function", "name": "_totalExpected", "source_mapping": {"start": 3463, "length": 187, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [109, 110, 111, 112, 113, 114, 115], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SingleAssetStaking", "source_mapping": {"start": 466, "length": 18304, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562], "starting_column": 1, "ending_column": 2}}, "signature": "_totalExpected(SingleAssetStaking.Stake)"}}}}, {"type": "function", "name": "_stake", "source_mapping": {"start": 4959, "length": 1129, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SingleAssetStaking", "source_mapping": {"start": 466, "length": 18304, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562], "starting_column": 1, "ending_column": 2}}, "signature": "_stake(address,uint8,uint256,uint240,uint256)"}}], "description": "SingleAssetStaking._totalExpected(SingleAssetStaking.Stake)._stake (contracts/staking/SingleAssetStaking.sol#109) shadows:\n\t- SingleAssetStaking._stake(address,uint8,uint256,uint240,uint256) (contracts/staking/SingleAssetStaking.sol#156-193) (function)\n", "markdown": "[SingleAssetStaking._totalExpected(SingleAssetStaking.Stake)._stake](contracts/staking/SingleAssetStaking.sol#L109) shadows:\n\t- [SingleAssetStaking._stake(address,uint8,uint256,uint240,uint256)](contracts/staking/SingleAssetStaking.sol#L156-L193) (function)\n", "first_markdown_element": "contracts/staking/SingleAssetStaking.sol#L109", "id": "8a1c4c887deef718424f5330bc5062498e9d38d6f5fa49d962f7b50987c344fb", "check": "shadowing-local", "impact": "Low", "confidence": "High"}, {"elements": [{"type": "variable", "name": "stake", "source_mapping": {"start": 9325, "length": 31, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [307], "starting_column": 13, "ending_column": 44}, "type_specific_fields": {"parent": {"type": "function", "name": "totalCurrentHoldings", "source_mapping": {"start": 9089, "length": 978, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SingleAssetStaking", "source_mapping": {"start": 466, "length": 18304, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562], "starting_column": 1, "ending_column": 2}}, "signature": "totalCurrentHoldings(address)"}}}}, {"type": "function", "name": "stake", "source_mapping": {"start": 12724, "length": 242, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [395, 396, 397, 398], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SingleAssetStaking", "source_mapping": {"start": 466, "length": 18304, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562], "starting_column": 1, "ending_column": 2}}, "signature": "stake(uint256,uint256)"}}], "description": "SingleAssetStaking.totalCurrentHoldings(address).stake (contracts/staking/SingleAssetStaking.sol#307) shadows:\n\t- SingleAssetStaking.stake(uint256,uint256) (contracts/staking/SingleAssetStaking.sol#395-398) (function)\n", "markdown": "[SingleAssetStaking.totalCurrentHoldings(address).stake](contracts/staking/SingleAssetStaking.sol#L307) shadows:\n\t- [SingleAssetStaking.stake(uint256,uint256)](contracts/staking/SingleAssetStaking.sol#L395-L398) (function)\n", "first_markdown_element": "contracts/staking/SingleAssetStaking.sol#L307", "id": "1c79525b3936460d2cf3f3e0405f443514b70cb404fe2bff8ea4ba8d4d5eaf96", "check": "shadowing-local", "impact": "Low", "confidence": "High"}, {"elements": [{"type": "function", "name": "initialize", "source_mapping": {"start": 1979, "length": 381, "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [56, 57, 58, 59, 60, 61, 62, 63, 64, 65], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OUSD", "source_mapping": {"start": 835, "length": 19173, "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579], "starting_column": 1, "ending_column": 2}}, "signature": "initialize(string,string,address,uint256)"}}, {"type": "node", "name": "vaultAddress = _vaultAddress", "source_mapping": {"start": 2325, "length": 28, "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [64], "starting_column": 9, "ending_column": 37}, "type_specific_fields": {"parent": {"type": "function", "name": "initialize", "source_mapping": {"start": 1979, "length": 381, "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [56, 57, 58, 59, 60, 61, 62, 63, 64, 65], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OUSD", "source_mapping": {"start": 835, "length": 19173, "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579], "starting_column": 1, "ending_column": 2}}, "signature": "initialize(string,string,address,uint256)"}}}}], "description": "OUSD.initialize(string,string,address,uint256) (contracts/token/OUSD.sol#56-65) should emit an event for: \n\t- vaultAddress = _vaultAddress (contracts/token/OUSD.sol#64) \n", "markdown": "[OUSD.initialize(string,string,address,uint256)](contracts/token/OUSD.sol#L56-L65) should emit an event for: \n\t- [vaultAddress = _vaultAddress](contracts/token/OUSD.sol#L64) \n", "first_markdown_element": "contracts/token/OUSD.sol#L56-L65", "id": "0d90bb04c73120d02c1cded42b940dd83838142909665e6db98f06b141ac4102", "check": "events-access", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "initialize", "source_mapping": {"start": 2600, "length": 1256, "filename_relative": "contracts/strategies/BaseConvexMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/BaseConvexMetaStrategy.sol", "filename_short": "contracts/strategies/BaseConvexMetaStrategy.sol", "is_dependency": false, "lines": [63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseConvexMetaStrategy", "source_mapping": {"start": 647, "length": 8927, "filename_relative": "contracts/strategies/BaseConvexMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/BaseConvexMetaStrategy.sol", "filename_short": "contracts/strategies/BaseConvexMetaStrategy.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, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251], "starting_column": 1, "ending_column": 2}}, "signature": "initialize(address[],address[],address[],BaseConvexMetaStrategy.InitConfig)"}}, {"type": "node", "name": "cvxDepositorPTokenId = initConfig.cvxDepositorPTokenId", "source_mapping": {"start": 3390, "length": 54, "filename_relative": "contracts/strategies/BaseConvexMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/BaseConvexMetaStrategy.sol", "filename_short": "contracts/strategies/BaseConvexMetaStrategy.sol", "is_dependency": false, "lines": [78], "starting_column": 9, "ending_column": 63}, "type_specific_fields": {"parent": {"type": "function", "name": "initialize", "source_mapping": {"start": 2600, "length": 1256, "filename_relative": "contracts/strategies/BaseConvexMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/BaseConvexMetaStrategy.sol", "filename_short": "contracts/strategies/BaseConvexMetaStrategy.sol", "is_dependency": false, "lines": [63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseConvexMetaStrategy", "source_mapping": {"start": 647, "length": 8927, "filename_relative": "contracts/strategies/BaseConvexMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/BaseConvexMetaStrategy.sol", "filename_short": "contracts/strategies/BaseConvexMetaStrategy.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, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251], "starting_column": 1, "ending_column": 2}}, "signature": "initialize(address[],address[],address[],BaseConvexMetaStrategy.InitConfig)"}}}}], "description": "BaseConvexMetaStrategy.initialize(address[],address[],address[],BaseConvexMetaStrategy.InitConfig) (contracts/strategies/BaseConvexMetaStrategy.sol#63-90) should emit an event for: \n\t- cvxDepositorPTokenId = initConfig.cvxDepositorPTokenId (contracts/strategies/BaseConvexMetaStrategy.sol#78) \n", "markdown": "[BaseConvexMetaStrategy.initialize(address[],address[],address[],BaseConvexMetaStrategy.InitConfig)](contracts/strategies/BaseConvexMetaStrategy.sol#L63-L90) should emit an event for: \n\t- [cvxDepositorPTokenId = initConfig.cvxDepositorPTokenId](contracts/strategies/BaseConvexMetaStrategy.sol#L78) \n", "first_markdown_element": "contracts/strategies/BaseConvexMetaStrategy.sol#L63-L90", "id": "46721d8a557fb6daf8c2662b6867e25291448b0b04abb7a31a1afc20b275f988", "check": "events-maths", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "initialize", "source_mapping": {"start": 2165, "length": 872, "filename_relative": "contracts/strategies/ConvexStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexStrategy.sol", "filename_short": "contracts/strategies/ConvexStrategy.sol", "is_dependency": false, "lines": [52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ConvexStrategy", "source_mapping": {"start": 918, "length": 5358, "filename_relative": "contracts/strategies/ConvexStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexStrategy.sol", "filename_short": "contracts/strategies/ConvexStrategy.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165], "starting_column": 1, "ending_column": 2}}, "signature": "initialize(address[],address[],address[],address,address,uint256)"}}, {"type": "node", "name": "cvxDepositorPTokenId = _cvxDepositorPTokenId", "source_mapping": {"start": 2785, "length": 44, "filename_relative": "contracts/strategies/ConvexStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexStrategy.sol", "filename_short": "contracts/strategies/ConvexStrategy.sol", "is_dependency": false, "lines": [65], "starting_column": 9, "ending_column": 53}, "type_specific_fields": {"parent": {"type": "function", "name": "initialize", "source_mapping": {"start": 2165, "length": 872, "filename_relative": "contracts/strategies/ConvexStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexStrategy.sol", "filename_short": "contracts/strategies/ConvexStrategy.sol", "is_dependency": false, "lines": [52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ConvexStrategy", "source_mapping": {"start": 918, "length": 5358, "filename_relative": "contracts/strategies/ConvexStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexStrategy.sol", "filename_short": "contracts/strategies/ConvexStrategy.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165], "starting_column": 1, "ending_column": 2}}, "signature": "initialize(address[],address[],address[],address,address,uint256)"}}}}], "description": "ConvexStrategy.initialize(address[],address[],address[],address,address,uint256) (contracts/strategies/ConvexStrategy.sol#52-74) should emit an event for: \n\t- cvxDepositorPTokenId = _cvxDepositorPTokenId (contracts/strategies/ConvexStrategy.sol#65) \n", "markdown": "[ConvexStrategy.initialize(address[],address[],address[],address,address,uint256)](contracts/strategies/ConvexStrategy.sol#L52-L74) should emit an event for: \n\t- [cvxDepositorPTokenId = _cvxDepositorPTokenId](contracts/strategies/ConvexStrategy.sol#L65) \n", "first_markdown_element": "contracts/strategies/ConvexStrategy.sol#L52-L74", "id": "72bc9b0c883df2e19dbc3a21371b86129fc27c83c55b93e76d47a06beb303a17", "check": "events-maths", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "_token", "source_mapping": {"start": 2055, "length": 14, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [59], "starting_column": 17, "ending_column": 31}, "type_specific_fields": {"parent": {"type": "function", "name": "constructor", "source_mapping": {"start": 2043, "length": 154, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [59, 60, 61, 62, 63], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompensationClaims", "source_mapping": {"start": 1527, "length": 3674, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164], "starting_column": 1, "ending_column": 2}}, "signature": "constructor(address,address)"}}}}, {"type": "node", "name": "token = _token", "source_mapping": {"start": 2113, "length": 14, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [60], "starting_column": 9, "ending_column": 23}, "type_specific_fields": {"parent": {"type": "function", "name": "constructor", "source_mapping": {"start": 2043, "length": 154, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [59, 60, 61, 62, 63], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompensationClaims", "source_mapping": {"start": 1527, "length": 3674, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164], "starting_column": 1, "ending_column": 2}}, "signature": "constructor(address,address)"}}}}], "description": "CompensationClaims.constructor(address,address)._token (contracts/compensation/CompensationClaims.sol#59) lacks a zero-check on :\n\t\t- token = _token (contracts/compensation/CompensationClaims.sol#60)\n", "markdown": "[CompensationClaims.constructor(address,address)._token](contracts/compensation/CompensationClaims.sol#L59) lacks a zero-check on :\n\t\t- [token = _token](contracts/compensation/CompensationClaims.sol#L60)\n", "first_markdown_element": "contracts/compensation/CompensationClaims.sol#L59", "id": "bd7a5e311112b74313c8ca5ec6673f8dafafa5e2be394a2523b54bba32166112", "check": "missing-zero-check", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "_adjuster", "source_mapping": {"start": 2071, "length": 17, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [59], "starting_column": 33, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "function", "name": "constructor", "source_mapping": {"start": 2043, "length": 154, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [59, 60, 61, 62, 63], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompensationClaims", "source_mapping": {"start": 1527, "length": 3674, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164], "starting_column": 1, "ending_column": 2}}, "signature": "constructor(address,address)"}}}}, {"type": "node", "name": "adjuster = _adjuster", "source_mapping": {"start": 2137, "length": 20, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [61], "starting_column": 9, "ending_column": 29}, "type_specific_fields": {"parent": {"type": "function", "name": "constructor", "source_mapping": {"start": 2043, "length": 154, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [59, 60, 61, 62, 63], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompensationClaims", "source_mapping": {"start": 1527, "length": 3674, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164], "starting_column": 1, "ending_column": 2}}, "signature": "constructor(address,address)"}}}}], "description": "CompensationClaims.constructor(address,address)._adjuster (contracts/compensation/CompensationClaims.sol#59) lacks a zero-check on :\n\t\t- adjuster = _adjuster (contracts/compensation/CompensationClaims.sol#61)\n", "markdown": "[CompensationClaims.constructor(address,address)._adjuster](contracts/compensation/CompensationClaims.sol#L59) lacks a zero-check on :\n\t\t- [adjuster = _adjuster](contracts/compensation/CompensationClaims.sol#L61)\n", "first_markdown_element": "contracts/compensation/CompensationClaims.sol#L59", "id": "3db545eb647132fea09fa1249481346d7e9869aa7d9775d2214eaaab261b5956", "check": "missing-zero-check", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "_vaultAddress", "source_mapping": {"start": 2078, "length": 21, "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [59], "starting_column": 9, "ending_column": 30}, "type_specific_fields": {"parent": {"type": "function", "name": "initialize", "source_mapping": {"start": 1979, "length": 381, "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [56, 57, 58, 59, 60, 61, 62, 63, 64, 65], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OUSD", "source_mapping": {"start": 835, "length": 19173, "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579], "starting_column": 1, "ending_column": 2}}, "signature": "initialize(string,string,address,uint256)"}}}}, {"type": "node", "name": "vaultAddress = _vaultAddress", "source_mapping": {"start": 2325, "length": 28, "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [64], "starting_column": 9, "ending_column": 37}, "type_specific_fields": {"parent": {"type": "function", "name": "initialize", "source_mapping": {"start": 1979, "length": 381, "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [56, 57, 58, 59, 60, 61, 62, 63, 64, 65], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OUSD", "source_mapping": {"start": 835, "length": 19173, "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579], "starting_column": 1, "ending_column": 2}}, "signature": "initialize(string,string,address,uint256)"}}}}], "description": "OUSD.initialize(string,string,address,uint256)._vaultAddress (contracts/token/OUSD.sol#59) lacks a zero-check on :\n\t\t- vaultAddress = _vaultAddress (contracts/token/OUSD.sol#64)\n", "markdown": "[OUSD.initialize(string,string,address,uint256)._vaultAddress](contracts/token/OUSD.sol#L59) lacks a zero-check on :\n\t\t- [vaultAddress = _vaultAddress](contracts/token/OUSD.sol#L64)\n", "first_markdown_element": "contracts/token/OUSD.sol#L59", "id": "e5d651134ca438025463985da71f74f7441b8081f24ffcde0b54d147b8c618b1", "check": "missing-zero-check", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "pendingAdmin_", "source_mapping": {"start": 2688, "length": 21, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [105], "starting_column": 30, "ending_column": 51}, "type_specific_fields": {"parent": {"type": "function", "name": "setPendingAdmin", "source_mapping": {"start": 2663, "length": 155, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [105, 106, 107, 108, 109], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Timelock", "source_mapping": {"start": 298, "length": 6391, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242], "starting_column": 1, "ending_column": 2}}, "signature": "setPendingAdmin(address)"}}}}, {"type": "node", "name": "pendingAdmin = pendingAdmin_", "source_mapping": {"start": 2738, "length": 28, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [106], "starting_column": 9, "ending_column": 37}, "type_specific_fields": {"parent": {"type": "function", "name": "setPendingAdmin", "source_mapping": {"start": 2663, "length": 155, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [105, 106, 107, 108, 109], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Timelock", "source_mapping": {"start": 298, "length": 6391, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242], "starting_column": 1, "ending_column": 2}}, "signature": "setPendingAdmin(address)"}}}}], "description": "Timelock.setPendingAdmin(address).pendingAdmin_ (contracts/timelock/Timelock.sol#105) lacks a zero-check on :\n\t\t- pendingAdmin = pendingAdmin_ (contracts/timelock/Timelock.sol#106)\n", "markdown": "[Timelock.setPendingAdmin(address).pendingAdmin_](contracts/timelock/Timelock.sol#L105) lacks a zero-check on :\n\t\t- [pendingAdmin = pendingAdmin_](contracts/timelock/Timelock.sol#L106)\n", "first_markdown_element": "contracts/timelock/Timelock.sol#L105", "id": "9a38b69c86c02177b3926889e9a882724c6856268533e973ed38f9d8548b976f", "check": "missing-zero-check", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "_logic", "source_mapping": {"start": 1381, "length": 14, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [35], "starting_column": 9, "ending_column": 23}, "type_specific_fields": {"parent": {"type": "function", "name": "initialize", "source_mapping": {"start": 1352, "length": 545, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "InitializeGovernedUpgradeabilityProxy", "source_mapping": {"start": 450, "length": 6294, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [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], "starting_column": 1, "ending_column": 2}}, "signature": "initialize(address,address,bytes)"}}}}, {"type": "node", "name": "(success) = _logic.delegatecall(_data)", "source_mapping": {"start": 1765, "length": 45, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [46], "starting_column": 13, "ending_column": 58}, "type_specific_fields": {"parent": {"type": "function", "name": "initialize", "source_mapping": {"start": 1352, "length": 545, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "InitializeGovernedUpgradeabilityProxy", "source_mapping": {"start": 450, "length": 6294, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [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], "starting_column": 1, "ending_column": 2}}, "signature": "initialize(address,address,bytes)"}}}}], "description": "InitializeGovernedUpgradeabilityProxy.initialize(address,address,bytes)._logic (contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#35) lacks a zero-check on :\n\t\t- (success) = _logic.delegatecall(_data) (contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#46)\n", "markdown": "[InitializeGovernedUpgradeabilityProxy.initialize(address,address,bytes)._logic](contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#L35) lacks a zero-check on :\n\t\t- [(success) = _logic.delegatecall(_data)](contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#L46)\n", "first_markdown_element": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#L35", "id": "46b158d43224279b8e4e59265414c43e597fef64c2552d235a8c85aeda35357b", "check": "missing-zero-check", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "newImplementation", "source_mapping": {"start": 3117, "length": 25, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [84], "starting_column": 31, "ending_column": 56}, "type_specific_fields": {"parent": {"type": "function", "name": "upgradeToAndCall", "source_mapping": {"start": 3091, "length": 269, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [84, 85, 86, 87, 88, 89, 90, 91, 92], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "InitializeGovernedUpgradeabilityProxy", "source_mapping": {"start": 450, "length": 6294, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [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], "starting_column": 1, "ending_column": 2}}, "signature": "upgradeToAndCall(address,bytes)"}}}}, {"type": "node", "name": "(success) = newImplementation.delegatecall(data)", "source_mapping": {"start": 3272, "length": 55, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [90], "starting_column": 9, "ending_column": 64}, "type_specific_fields": {"parent": {"type": "function", "name": "upgradeToAndCall", "source_mapping": {"start": 3091, "length": 269, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [84, 85, 86, 87, 88, 89, 90, 91, 92], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "InitializeGovernedUpgradeabilityProxy", "source_mapping": {"start": 450, "length": 6294, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [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], "starting_column": 1, "ending_column": 2}}, "signature": "upgradeToAndCall(address,bytes)"}}}}], "description": "InitializeGovernedUpgradeabilityProxy.upgradeToAndCall(address,bytes).newImplementation (contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#84) lacks a zero-check on :\n\t\t- (success) = newImplementation.delegatecall(data) (contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#90)\n", "markdown": "[InitializeGovernedUpgradeabilityProxy.upgradeToAndCall(address,bytes).newImplementation](contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#L84) lacks a zero-check on :\n\t\t- [(success) = newImplementation.delegatecall(data)](contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#L90)\n", "first_markdown_element": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#L84", "id": "2f81daf5f6f44bc96c296119bdfa6a6da965b8f5f2c330394c9a1f3970654e31", "check": "missing-zero-check", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "_agent", "source_mapping": {"start": 17401, "length": 14, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [519], "starting_column": 31, "ending_column": 45}, "type_specific_fields": {"parent": {"type": "function", "name": "setTransferAgent", "source_mapping": {"start": 17375, "length": 103, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [519, 520, 521], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SingleAssetStaking", "source_mapping": {"start": 466, "length": 18304, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562], "starting_column": 1, "ending_column": 2}}, "signature": "setTransferAgent(address)"}}}}, {"type": "node", "name": "transferAgent = _agent", "source_mapping": {"start": 17449, "length": 22, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [520], "starting_column": 9, "ending_column": 31}, "type_specific_fields": {"parent": {"type": "function", "name": "setTransferAgent", "source_mapping": {"start": 17375, "length": 103, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [519, 520, 521], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SingleAssetStaking", "source_mapping": {"start": 466, "length": 18304, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562], "starting_column": 1, "ending_column": 2}}, "signature": "setTransferAgent(address)"}}}}], "description": "SingleAssetStaking.setTransferAgent(address)._agent (contracts/staking/SingleAssetStaking.sol#519) lacks a zero-check on :\n\t\t- transferAgent = _agent (contracts/staking/SingleAssetStaking.sol#520)\n", "markdown": "[SingleAssetStaking.setTransferAgent(address)._agent](contracts/staking/SingleAssetStaking.sol#L519) lacks a zero-check on :\n\t\t- [transferAgent = _agent](contracts/staking/SingleAssetStaking.sol#L520)\n", "first_markdown_element": "contracts/staking/SingleAssetStaking.sol#L519", "id": "f2d63b6419cd2ebbc5ac8bc570c47a3f067f3b1ef0b92a818e5d0c07a7e02e70", "check": "missing-zero-check", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "_harvesterAddress", "source_mapping": {"start": 9512, "length": 25, "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [284], "starting_column": 34, "ending_column": 59}, "type_specific_fields": {"parent": {"type": "function", "name": "setHarvesterAddress", "source_mapping": {"start": 9483, "length": 228, "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [284, 285, 286, 287, 288, 289, 290], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "InitializableAbstractStrategy", "source_mapping": {"start": 472, "length": 11152, "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351], "starting_column": 1, "ending_column": 2}}, "signature": "setHarvesterAddress(address)"}}}}, {"type": "node", "name": "harvesterAddress = _harvesterAddress", "source_mapping": {"start": 9668, "length": 36, "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [289], "starting_column": 9, "ending_column": 45}, "type_specific_fields": {"parent": {"type": "function", "name": "setHarvesterAddress", "source_mapping": {"start": 9483, "length": 228, "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [284, 285, 286, 287, 288, 289, 290], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "InitializableAbstractStrategy", "source_mapping": {"start": 472, "length": 11152, "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351], "starting_column": 1, "ending_column": 2}}, "signature": "setHarvesterAddress(address)"}}}}], "description": "InitializableAbstractStrategy.setHarvesterAddress(address)._harvesterAddress (contracts/utils/InitializableAbstractStrategy.sol#284) lacks a zero-check on :\n\t\t- harvesterAddress = _harvesterAddress (contracts/utils/InitializableAbstractStrategy.sol#289)\n", "markdown": "[InitializableAbstractStrategy.setHarvesterAddress(address)._harvesterAddress](contracts/utils/InitializableAbstractStrategy.sol#L284) lacks a zero-check on :\n\t\t- [harvesterAddress = _harvesterAddress](contracts/utils/InitializableAbstractStrategy.sol#L289)\n", "first_markdown_element": "contracts/utils/InitializableAbstractStrategy.sol#L284", "id": "d143cc7b353a06e136acbce2aa45bf9302e50de00e1a478565bbe1b8989abaa3", "check": "missing-zero-check", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "_cvxDepositorAddress", "source_mapping": {"start": 2330, "length": 28, "filename_relative": "contracts/strategies/ConvexStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexStrategy.sol", "filename_short": "contracts/strategies/ConvexStrategy.sol", "is_dependency": false, "lines": [56], "starting_column": 9, "ending_column": 37}, "type_specific_fields": {"parent": {"type": "function", "name": "initialize", "source_mapping": {"start": 2165, "length": 872, "filename_relative": "contracts/strategies/ConvexStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexStrategy.sol", "filename_short": "contracts/strategies/ConvexStrategy.sol", "is_dependency": false, "lines": [52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ConvexStrategy", "source_mapping": {"start": 918, "length": 5358, "filename_relative": "contracts/strategies/ConvexStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexStrategy.sol", "filename_short": "contracts/strategies/ConvexStrategy.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165], "starting_column": 1, "ending_column": 2}}, "signature": "initialize(address[],address[],address[],address,address,uint256)"}}}}, {"type": "node", "name": "cvxDepositorAddress = _cvxDepositorAddress", "source_mapping": {"start": 2675, "length": 42, "filename_relative": "contracts/strategies/ConvexStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexStrategy.sol", "filename_short": "contracts/strategies/ConvexStrategy.sol", "is_dependency": false, "lines": [63], "starting_column": 9, "ending_column": 51}, "type_specific_fields": {"parent": {"type": "function", "name": "initialize", "source_mapping": {"start": 2165, "length": 872, "filename_relative": "contracts/strategies/ConvexStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexStrategy.sol", "filename_short": "contracts/strategies/ConvexStrategy.sol", "is_dependency": false, "lines": [52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ConvexStrategy", "source_mapping": {"start": 918, "length": 5358, "filename_relative": "contracts/strategies/ConvexStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexStrategy.sol", "filename_short": "contracts/strategies/ConvexStrategy.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165], "starting_column": 1, "ending_column": 2}}, "signature": "initialize(address[],address[],address[],address,address,uint256)"}}}}], "description": "ConvexStrategy.initialize(address[],address[],address[],address,address,uint256)._cvxDepositorAddress (contracts/strategies/ConvexStrategy.sol#56) lacks a zero-check on :\n\t\t- cvxDepositorAddress = _cvxDepositorAddress (contracts/strategies/ConvexStrategy.sol#63)\n", "markdown": "[ConvexStrategy.initialize(address[],address[],address[],address,address,uint256)._cvxDepositorAddress](contracts/strategies/ConvexStrategy.sol#L56) lacks a zero-check on :\n\t\t- [cvxDepositorAddress = _cvxDepositorAddress](contracts/strategies/ConvexStrategy.sol#L63)\n", "first_markdown_element": "contracts/strategies/ConvexStrategy.sol#L56", "id": "3213523927f091aa04ef8e7d02a3f43dbbb6b0627bffa9f29bd4ff7c25650f30", "check": "missing-zero-check", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "_cvxRewardStakerAddress", "source_mapping": {"start": 2368, "length": 31, "filename_relative": "contracts/strategies/ConvexStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexStrategy.sol", "filename_short": "contracts/strategies/ConvexStrategy.sol", "is_dependency": false, "lines": [57], "starting_column": 9, "ending_column": 40}, "type_specific_fields": {"parent": {"type": "function", "name": "initialize", "source_mapping": {"start": 2165, "length": 872, "filename_relative": "contracts/strategies/ConvexStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexStrategy.sol", "filename_short": "contracts/strategies/ConvexStrategy.sol", "is_dependency": false, "lines": [52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ConvexStrategy", "source_mapping": {"start": 918, "length": 5358, "filename_relative": "contracts/strategies/ConvexStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexStrategy.sol", "filename_short": "contracts/strategies/ConvexStrategy.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165], "starting_column": 1, "ending_column": 2}}, "signature": "initialize(address[],address[],address[],address,address,uint256)"}}}}, {"type": "node", "name": "cvxRewardStakerAddress = _cvxRewardStakerAddress", "source_mapping": {"start": 2727, "length": 48, "filename_relative": "contracts/strategies/ConvexStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexStrategy.sol", "filename_short": "contracts/strategies/ConvexStrategy.sol", "is_dependency": false, "lines": [64], "starting_column": 9, "ending_column": 57}, "type_specific_fields": {"parent": {"type": "function", "name": "initialize", "source_mapping": {"start": 2165, "length": 872, "filename_relative": "contracts/strategies/ConvexStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexStrategy.sol", "filename_short": "contracts/strategies/ConvexStrategy.sol", "is_dependency": false, "lines": [52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ConvexStrategy", "source_mapping": {"start": 918, "length": 5358, "filename_relative": "contracts/strategies/ConvexStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexStrategy.sol", "filename_short": "contracts/strategies/ConvexStrategy.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165], "starting_column": 1, "ending_column": 2}}, "signature": "initialize(address[],address[],address[],address,address,uint256)"}}}}], "description": "ConvexStrategy.initialize(address[],address[],address[],address,address,uint256)._cvxRewardStakerAddress (contracts/strategies/ConvexStrategy.sol#57) lacks a zero-check on :\n\t\t- cvxRewardStakerAddress = _cvxRewardStakerAddress (contracts/strategies/ConvexStrategy.sol#64)\n", "markdown": "[ConvexStrategy.initialize(address[],address[],address[],address,address,uint256)._cvxRewardStakerAddress](contracts/strategies/ConvexStrategy.sol#L57) lacks a zero-check on :\n\t\t- [cvxRewardStakerAddress = _cvxRewardStakerAddress](contracts/strategies/ConvexStrategy.sol#L64)\n", "first_markdown_element": "contracts/strategies/ConvexStrategy.sol#L57", "id": "da534688094e24bafaa043ae6cc94bc5ffeb25c2a382cfcccd4aaf4e6d42623a", "check": "missing-zero-check", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "_crvGaugeAddress", "source_mapping": {"start": 2040, "length": 24, "filename_relative": "contracts/strategies/ThreePoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ThreePoolStrategy.sol", "filename_short": "contracts/strategies/ThreePoolStrategy.sol", "is_dependency": false, "lines": [52], "starting_column": 9, "ending_column": 33}, "type_specific_fields": {"parent": {"type": "function", "name": "initialize", "source_mapping": {"start": 1883, "length": 738, "filename_relative": "contracts/strategies/ThreePoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ThreePoolStrategy.sol", "filename_short": "contracts/strategies/ThreePoolStrategy.sol", "is_dependency": false, "lines": [48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ThreePoolStrategy", "source_mapping": {"start": 907, "length": 4607, "filename_relative": "contracts/strategies/ThreePoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ThreePoolStrategy.sol", "filename_short": "contracts/strategies/ThreePoolStrategy.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147], "starting_column": 1, "ending_column": 2}}, "signature": "initialize(address[],address[],address[],address,address)"}}}}, {"type": "node", "name": "crvGaugeAddress = _crvGaugeAddress", "source_mapping": {"start": 2336, "length": 34, "filename_relative": "contracts/strategies/ThreePoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ThreePoolStrategy.sol", "filename_short": "contracts/strategies/ThreePoolStrategy.sol", "is_dependency": false, "lines": [58], "starting_column": 9, "ending_column": 43}, "type_specific_fields": {"parent": {"type": "function", "name": "initialize", "source_mapping": {"start": 1883, "length": 738, "filename_relative": "contracts/strategies/ThreePoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ThreePoolStrategy.sol", "filename_short": "contracts/strategies/ThreePoolStrategy.sol", "is_dependency": false, "lines": [48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ThreePoolStrategy", "source_mapping": {"start": 907, "length": 4607, "filename_relative": "contracts/strategies/ThreePoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ThreePoolStrategy.sol", "filename_short": "contracts/strategies/ThreePoolStrategy.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147], "starting_column": 1, "ending_column": 2}}, "signature": "initialize(address[],address[],address[],address,address)"}}}}], "description": "ThreePoolStrategy.initialize(address[],address[],address[],address,address)._crvGaugeAddress (contracts/strategies/ThreePoolStrategy.sol#52) lacks a zero-check on :\n\t\t- crvGaugeAddress = _crvGaugeAddress (contracts/strategies/ThreePoolStrategy.sol#58)\n", "markdown": "[ThreePoolStrategy.initialize(address[],address[],address[],address,address)._crvGaugeAddress](contracts/strategies/ThreePoolStrategy.sol#L52) lacks a zero-check on :\n\t\t- [crvGaugeAddress = _crvGaugeAddress](contracts/strategies/ThreePoolStrategy.sol#L58)\n", "first_markdown_element": "contracts/strategies/ThreePoolStrategy.sol#L52", "id": "6f35bd932d18113cc4d1bb7b0bf9a8b775fab30b5f848ae3478ab2f421b379b3", "check": "missing-zero-check", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "_crvMinterAddress", "source_mapping": {"start": 2074, "length": 25, "filename_relative": "contracts/strategies/ThreePoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ThreePoolStrategy.sol", "filename_short": "contracts/strategies/ThreePoolStrategy.sol", "is_dependency": false, "lines": [53], "starting_column": 9, "ending_column": 34}, "type_specific_fields": {"parent": {"type": "function", "name": "initialize", "source_mapping": {"start": 1883, "length": 738, "filename_relative": "contracts/strategies/ThreePoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ThreePoolStrategy.sol", "filename_short": "contracts/strategies/ThreePoolStrategy.sol", "is_dependency": false, "lines": [48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ThreePoolStrategy", "source_mapping": {"start": 907, "length": 4607, "filename_relative": "contracts/strategies/ThreePoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ThreePoolStrategy.sol", "filename_short": "contracts/strategies/ThreePoolStrategy.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147], "starting_column": 1, "ending_column": 2}}, "signature": "initialize(address[],address[],address[],address,address)"}}}}, {"type": "node", "name": "crvMinterAddress = _crvMinterAddress", "source_mapping": {"start": 2380, "length": 36, "filename_relative": "contracts/strategies/ThreePoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ThreePoolStrategy.sol", "filename_short": "contracts/strategies/ThreePoolStrategy.sol", "is_dependency": false, "lines": [59], "starting_column": 9, "ending_column": 45}, "type_specific_fields": {"parent": {"type": "function", "name": "initialize", "source_mapping": {"start": 1883, "length": 738, "filename_relative": "contracts/strategies/ThreePoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ThreePoolStrategy.sol", "filename_short": "contracts/strategies/ThreePoolStrategy.sol", "is_dependency": false, "lines": [48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ThreePoolStrategy", "source_mapping": {"start": 907, "length": 4607, "filename_relative": "contracts/strategies/ThreePoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ThreePoolStrategy.sol", "filename_short": "contracts/strategies/ThreePoolStrategy.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147], "starting_column": 1, "ending_column": 2}}, "signature": "initialize(address[],address[],address[],address,address)"}}}}], "description": "ThreePoolStrategy.initialize(address[],address[],address[],address,address)._crvMinterAddress (contracts/strategies/ThreePoolStrategy.sol#53) lacks a zero-check on :\n\t\t- crvMinterAddress = _crvMinterAddress (contracts/strategies/ThreePoolStrategy.sol#59)\n", "markdown": "[ThreePoolStrategy.initialize(address[],address[],address[],address,address)._crvMinterAddress](contracts/strategies/ThreePoolStrategy.sol#L53) lacks a zero-check on :\n\t\t- [crvMinterAddress = _crvMinterAddress](contracts/strategies/ThreePoolStrategy.sol#L59)\n", "first_markdown_element": "contracts/strategies/ThreePoolStrategy.sol#L53", "id": "9f74241bfc7306eeff84a69c4d22a76a58167bf3ee8d15860195cde3c58436fe", "check": "missing-zero-check", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "_priceProvider", "source_mapping": {"start": 1209, "length": 22, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [42], "starting_column": 31, "ending_column": 53}, "type_specific_fields": {"parent": {"type": "function", "name": "setPriceProvider", "source_mapping": {"start": 1183, "length": 170, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [42, 43, 44, 45], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultAdmin", "source_mapping": {"start": 549, "length": 22063, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638], "starting_column": 1, "ending_column": 2}}, "signature": "setPriceProvider(address)"}}}}, {"type": "node", "name": "priceProvider = _priceProvider", "source_mapping": {"start": 1265, "length": 30, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [43], "starting_column": 9, "ending_column": 39}, "type_specific_fields": {"parent": {"type": "function", "name": "setPriceProvider", "source_mapping": {"start": 1183, "length": 170, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [42, 43, 44, 45], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultAdmin", "source_mapping": {"start": 549, "length": 22063, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638], "starting_column": 1, "ending_column": 2}}, "signature": "setPriceProvider(address)"}}}}], "description": "VaultAdmin.setPriceProvider(address)._priceProvider (contracts/vault/VaultAdmin.sol#42) lacks a zero-check on :\n\t\t- priceProvider = _priceProvider (contracts/vault/VaultAdmin.sol#43)\n", "markdown": "[VaultAdmin.setPriceProvider(address)._priceProvider](contracts/vault/VaultAdmin.sol#L42) lacks a zero-check on :\n\t\t- [priceProvider = _priceProvider](contracts/vault/VaultAdmin.sol#L43)\n", "first_markdown_element": "contracts/vault/VaultAdmin.sol#L42", "id": "3deb594a427270bd4a0db0885bbe96aac61a2aaba39e843358e913b90ac09f80", "check": "missing-zero-check", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "_address", "source_mapping": {"start": 3121, "length": 16, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [98], "starting_column": 32, "ending_column": 48}, "type_specific_fields": {"parent": {"type": "function", "name": "setStrategistAddr", "source_mapping": {"start": 3094, "length": 151, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [98, 99, 100, 101], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultAdmin", "source_mapping": {"start": 549, "length": 22063, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638], "starting_column": 1, "ending_column": 2}}, "signature": "setStrategistAddr(address)"}}}}, {"type": "node", "name": "strategistAddr = _address", "source_mapping": {"start": 3171, "length": 25, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [99], "starting_column": 9, "ending_column": 34}, "type_specific_fields": {"parent": {"type": "function", "name": "setStrategistAddr", "source_mapping": {"start": 3094, "length": 151, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [98, 99, 100, 101], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultAdmin", "source_mapping": {"start": 549, "length": 22063, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638], "starting_column": 1, "ending_column": 2}}, "signature": "setStrategistAddr(address)"}}}}], "description": "VaultAdmin.setStrategistAddr(address)._address (contracts/vault/VaultAdmin.sol#98) lacks a zero-check on :\n\t\t- strategistAddr = _address (contracts/vault/VaultAdmin.sol#99)\n", "markdown": "[VaultAdmin.setStrategistAddr(address)._address](contracts/vault/VaultAdmin.sol#L98) lacks a zero-check on :\n\t\t- [strategistAddr = _address](contracts/vault/VaultAdmin.sol#L99)\n", "first_markdown_element": "contracts/vault/VaultAdmin.sol#L98", "id": "252e9425a95e011fc9e4c72bd7af4cc4b72e09bec95203a4a3cb534b519a9c93", "check": "missing-zero-check", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "_address", "source_mapping": {"start": 18758, "length": 16, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [514], "starting_column": 32, "ending_column": 48}, "type_specific_fields": {"parent": {"type": "function", "name": "setTrusteeAddress", "source_mapping": {"start": 18731, "length": 155, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [514, 515, 516, 517], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultAdmin", "source_mapping": {"start": 549, "length": 22063, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638], "starting_column": 1, "ending_column": 2}}, "signature": "setTrusteeAddress(address)"}}}}, {"type": "node", "name": "trusteeAddress = _address", "source_mapping": {"start": 18808, "length": 25, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [515], "starting_column": 9, "ending_column": 34}, "type_specific_fields": {"parent": {"type": "function", "name": "setTrusteeAddress", "source_mapping": {"start": 18731, "length": 155, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [514, 515, 516, 517], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultAdmin", "source_mapping": {"start": 549, "length": 22063, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638], "starting_column": 1, "ending_column": 2}}, "signature": "setTrusteeAddress(address)"}}}}], "description": "VaultAdmin.setTrusteeAddress(address)._address (contracts/vault/VaultAdmin.sol#514) lacks a zero-check on :\n\t\t- trusteeAddress = _address (contracts/vault/VaultAdmin.sol#515)\n", "markdown": "[VaultAdmin.setTrusteeAddress(address)._address](contracts/vault/VaultAdmin.sol#L514) lacks a zero-check on :\n\t\t- [trusteeAddress = _address](contracts/vault/VaultAdmin.sol#L515)\n", "first_markdown_element": "contracts/vault/VaultAdmin.sol#L514", "id": "7d1c32f4b99d0bffc07196369c205fb2ae9e651ae1d272274db541037bd71d09", "check": "missing-zero-check", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "_ousdMetaStrategy", "source_mapping": {"start": 19395, "length": 25, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [533], "starting_column": 34, "ending_column": 59}, "type_specific_fields": {"parent": {"type": "function", "name": "setOusdMetaStrategy", "source_mapping": {"start": 19366, "length": 208, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [533, 534, 535, 536, 537, 538, 539], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultAdmin", "source_mapping": {"start": 549, "length": 22063, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638], "starting_column": 1, "ending_column": 2}}, "signature": "setOusdMetaStrategy(address)"}}}}, {"type": "node", "name": "ousdMetaStrategy = _ousdMetaStrategy", "source_mapping": {"start": 19474, "length": 36, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [537], "starting_column": 9, "ending_column": 45}, "type_specific_fields": {"parent": {"type": "function", "name": "setOusdMetaStrategy", "source_mapping": {"start": 19366, "length": 208, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [533, 534, 535, 536, 537, 538, 539], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultAdmin", "source_mapping": {"start": 549, "length": 22063, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638], "starting_column": 1, "ending_column": 2}}, "signature": "setOusdMetaStrategy(address)"}}}}], "description": "VaultAdmin.setOusdMetaStrategy(address)._ousdMetaStrategy (contracts/vault/VaultAdmin.sol#533) lacks a zero-check on :\n\t\t- ousdMetaStrategy = _ousdMetaStrategy (contracts/vault/VaultAdmin.sol#537)\n", "markdown": "[VaultAdmin.setOusdMetaStrategy(address)._ousdMetaStrategy](contracts/vault/VaultAdmin.sol#L533) lacks a zero-check on :\n\t\t- [ousdMetaStrategy = _ousdMetaStrategy](contracts/vault/VaultAdmin.sol#L537)\n", "first_markdown_element": "contracts/vault/VaultAdmin.sol#L533", "id": "28babfaed1526634e7a895660f18804eb22718683b18403c7678739cb4fe6a2d", "check": "missing-zero-check", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "executeTransaction", "source_mapping": {"start": 4611, "length": 1434, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Timelock", "source_mapping": {"start": 298, "length": 6391, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242], "starting_column": 1, "ending_column": 2}}, "signature": "executeTransaction(address,string,bytes,uint256)"}}, {"type": "node", "name": "(success,returnData) = target.call(callData)", "source_mapping": {"start": 5793, "length": 63, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [211], "starting_column": 9, "ending_column": 72}, "type_specific_fields": {"parent": {"type": "function", "name": "executeTransaction", "source_mapping": {"start": 4611, "length": 1434, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Timelock", "source_mapping": {"start": 298, "length": 6391, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242], "starting_column": 1, "ending_column": 2}}, "signature": "executeTransaction(address,string,bytes,uint256)"}}}}], "description": "Timelock.executeTransaction(address,string,bytes,uint256) (contracts/timelock/Timelock.sol#171-220) has external calls inside a loop: (success,returnData) = target.call(callData) (contracts/timelock/Timelock.sol#211)\n", "markdown": "[Timelock.executeTransaction(address,string,bytes,uint256)](contracts/timelock/Timelock.sol#L171-L220) has external calls inside a loop: [(success,returnData) = target.call(callData)](contracts/timelock/Timelock.sol#L211)\n", "first_markdown_element": "contracts/timelock/Timelock.sol#L171-L220", "id": "815e942a7362f173d569e0a7c2f4c380dd0b4f0cbc9ddf9defee68ea5c0415a7", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "depositAll", "source_mapping": {"start": 2980, "length": 317, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.sol", "is_dependency": false, "lines": [88, 89, 90, 91, 92, 93, 94, 95], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AaveStrategy", "source_mapping": {"start": 536, "length": 10399, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305], "starting_column": 1, "ending_column": 2}}, "signature": "depositAll()"}}, {"type": "node", "name": "balance = IERC20(assetsMapped[i]).balanceOf(address(this))", "source_mapping": {"start": 3117, "length": 66, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.sol", "is_dependency": false, "lines": [90], "starting_column": 13, "ending_column": 79}, "type_specific_fields": {"parent": {"type": "function", "name": "depositAll", "source_mapping": {"start": 2980, "length": 317, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.sol", "is_dependency": false, "lines": [88, 89, 90, 91, 92, 93, 94, 95], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AaveStrategy", "source_mapping": {"start": 536, "length": 10399, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305], "starting_column": 1, "ending_column": 2}}, "signature": "depositAll()"}}}}], "description": "AaveStrategy.depositAll() (contracts/strategies/AaveStrategy.sol#88-95) has external calls inside a loop: balance = IERC20(assetsMapped[i]).balanceOf(address(this)) (contracts/strategies/AaveStrategy.sol#90)\n", "markdown": "[AaveStrategy.depositAll()](contracts/strategies/AaveStrategy.sol#L88-L95) has external calls inside a loop: [balance = IERC20(assetsMapped[i]).balanceOf(address(this))](contracts/strategies/AaveStrategy.sol#L90)\n", "first_markdown_element": "contracts/strategies/AaveStrategy.sol#L88-L95", "id": "7686dd6183d0c233d6c0ef173f8ea17264005132d1e3daad6cb43161c2b284fa", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_getLendingPool", "source_mapping": {"start": 7819, "length": 304, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.sol", "is_dependency": false, "lines": [225, 226, 227, 228, 229, 230], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AaveStrategy", "source_mapping": {"start": 536, "length": 10399, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305], "starting_column": 1, "ending_column": 2}}, "signature": "_getLendingPool()"}}, {"type": "node", "name": "lendingPool = ILendingPoolAddressesProvider(platformAddress).getLendingPool()", "source_mapping": {"start": 7897, "length": 98, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.sol", "is_dependency": false, "lines": [226, 227], "starting_column": 9, "ending_column": 30}, "type_specific_fields": {"parent": {"type": "function", "name": "_getLendingPool", "source_mapping": {"start": 7819, "length": 304, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.sol", "is_dependency": false, "lines": [225, 226, 227, 228, 229, 230], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AaveStrategy", "source_mapping": {"start": 536, "length": 10399, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305], "starting_column": 1, "ending_column": 2}}, "signature": "_getLendingPool()"}}}}], "description": "AaveStrategy._getLendingPool() (contracts/strategies/AaveStrategy.sol#225-230) has external calls inside a loop: lendingPool = ILendingPoolAddressesProvider(platformAddress).getLendingPool() (contracts/strategies/AaveStrategy.sol#226-227)\n", "markdown": "[AaveStrategy._getLendingPool()](contracts/strategies/AaveStrategy.sol#L225-L230) has external calls inside a loop: [lendingPool = ILendingPoolAddressesProvider(platformAddress).getLendingPool()](contracts/strategies/AaveStrategy.sol#L226-L227)\n", "first_markdown_element": "contracts/strategies/AaveStrategy.sol#L225-L230", "id": "4bb181f0a78c9a355f007fde6a11ec1cbb6c7356b376729891915e40a7c6110c", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_deposit", "source_mapping": {"start": 2510, "length": 376, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.sol", "is_dependency": false, "lines": [77, 78, 79, 80, 81, 82, 83], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AaveStrategy", "source_mapping": {"start": 536, "length": 10399, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305], "starting_column": 1, "ending_column": 2}}, "signature": "_deposit(address,uint256)"}}, {"type": "node", "name": "_getLendingPool().deposit(_asset,_amount,address(this),referralCode)", "source_mapping": {"start": 2808, "length": 71, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.sol", "is_dependency": false, "lines": [82], "starting_column": 9, "ending_column": 80}, "type_specific_fields": {"parent": {"type": "function", "name": "_deposit", "source_mapping": {"start": 2510, "length": 376, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.sol", "is_dependency": false, "lines": [77, 78, 79, 80, 81, 82, 83], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AaveStrategy", "source_mapping": {"start": 536, "length": 10399, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305], "starting_column": 1, "ending_column": 2}}, "signature": "_deposit(address,uint256)"}}}}], "description": "AaveStrategy._deposit(address,uint256) (contracts/strategies/AaveStrategy.sol#77-83) has external calls inside a loop: _getLendingPool().deposit(_asset,_amount,address(this),referralCode) (contracts/strategies/AaveStrategy.sol#82)\n", "markdown": "[AaveStrategy._deposit(address,uint256)](contracts/strategies/AaveStrategy.sol#L77-L83) has external calls inside a loop: [_getLendingPool().deposit(_asset,_amount,address(this),referralCode)](contracts/strategies/AaveStrategy.sol#L82)\n", "first_markdown_element": "contracts/strategies/AaveStrategy.sol#L77-L83", "id": "c35bfc6fba74dfc455c150b843b77a3b5aa6e153f16a8f2c3c08ba94977d23f3", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "withdrawAll", "source_mapping": {"start": 4208, "length": 937, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.sol", "is_dependency": false, "lines": [124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AaveStrategy", "source_mapping": {"start": 536, "length": 10399, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305], "starting_column": 1, "ending_column": 2}}, "signature": "withdrawAll()"}}, {"type": "node", "name": "balance = IERC20(aToken).balanceOf(address(this))", "source_mapping": {"start": 4516, "length": 57, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.sol", "is_dependency": false, "lines": [129], "starting_column": 13, "ending_column": 70}, "type_specific_fields": {"parent": {"type": "function", "name": "withdrawAll", "source_mapping": {"start": 4208, "length": 937, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.sol", "is_dependency": false, "lines": [124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AaveStrategy", "source_mapping": {"start": 536, "length": 10399, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305], "starting_column": 1, "ending_column": 2}}, "signature": "withdrawAll()"}}}}], "description": "AaveStrategy.withdrawAll() (contracts/strategies/AaveStrategy.sol#124-145) has external calls inside a loop: balance = IERC20(aToken).balanceOf(address(this)) (contracts/strategies/AaveStrategy.sol#129)\n", "markdown": "[AaveStrategy.withdrawAll()](contracts/strategies/AaveStrategy.sol#L124-L145) has external calls inside a loop: [balance = IERC20(aToken).balanceOf(address(this))](contracts/strategies/AaveStrategy.sol#L129)\n", "first_markdown_element": "contracts/strategies/AaveStrategy.sol#L124-L145", "id": "1748bb83b0ab018b31c2a0a51912ee976d27ea6966b10afa0d540c9175e5ffe3", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "withdrawAll", "source_mapping": {"start": 4208, "length": 937, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.sol", "is_dependency": false, "lines": [124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AaveStrategy", "source_mapping": {"start": 536, "length": 10399, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305], "starting_column": 1, "ending_column": 2}}, "signature": "withdrawAll()"}}, {"type": "node", "name": "actual = _getLendingPool().withdraw(address(asset),balance,address(this))", "source_mapping": {"start": 4622, "length": 161, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.sol", "is_dependency": false, "lines": [131, 132, 133, 134, 135], "starting_column": 17, "ending_column": 18}, "type_specific_fields": {"parent": {"type": "function", "name": "withdrawAll", "source_mapping": {"start": 4208, "length": 937, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.sol", "is_dependency": false, "lines": [124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AaveStrategy", "source_mapping": {"start": 536, "length": 10399, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305], "starting_column": 1, "ending_column": 2}}, "signature": "withdrawAll()"}}}}], "description": "AaveStrategy.withdrawAll() (contracts/strategies/AaveStrategy.sol#124-145) has external calls inside a loop: actual = _getLendingPool().withdraw(address(asset),balance,address(this)) (contracts/strategies/AaveStrategy.sol#131-135)\n", "markdown": "[AaveStrategy.withdrawAll()](contracts/strategies/AaveStrategy.sol#L124-L145) has external calls inside a loop: [actual = _getLendingPool().withdraw(address(asset),balance,address(this))](contracts/strategies/AaveStrategy.sol#L131-L135)\n", "first_markdown_element": "contracts/strategies/AaveStrategy.sol#L124-L145", "id": "d22b2f64776cd06c6f597cea2a4e57afb99165cc02ae4a2e4ede576c324cac52", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "withdrawAll", "source_mapping": {"start": 4208, "length": 937, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.sol", "is_dependency": false, "lines": [124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AaveStrategy", "source_mapping": {"start": 536, "length": 10399, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305], "starting_column": 1, "ending_column": 2}}, "signature": "withdrawAll()"}}, {"type": "node", "name": "assetBalance = asset.balanceOf(address(this))", "source_mapping": {"start": 4873, "length": 53, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.sol", "is_dependency": false, "lines": [138], "starting_column": 17, "ending_column": 70}, "type_specific_fields": {"parent": {"type": "function", "name": "withdrawAll", "source_mapping": {"start": 4208, "length": 937, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.sol", "is_dependency": false, "lines": [124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AaveStrategy", "source_mapping": {"start": 536, "length": 10399, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305], "starting_column": 1, "ending_column": 2}}, "signature": "withdrawAll()"}}}}], "description": "AaveStrategy.withdrawAll() (contracts/strategies/AaveStrategy.sol#124-145) has external calls inside a loop: assetBalance = asset.balanceOf(address(this)) (contracts/strategies/AaveStrategy.sol#138)\n", "markdown": "[AaveStrategy.withdrawAll()](contracts/strategies/AaveStrategy.sol#L124-L145) has external calls inside a loop: [assetBalance = asset.balanceOf(address(this))](contracts/strategies/AaveStrategy.sol#L138)\n", "first_markdown_element": "contracts/strategies/AaveStrategy.sol#L124-L145", "id": "7388933ebb9596d44a5f89fadf802725bb5702925a16bf7719fc3cd8adc2ba91", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "depositAll", "source_mapping": {"start": 2273, "length": 1730, "filename_relative": "contracts/strategies/BaseCurveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/BaseCurveStrategy.sol", "filename_short": "contracts/strategies/BaseCurveStrategy.sol", "is_dependency": false, "lines": [65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseCurveStrategy", "source_mapping": {"start": 536, "length": 11031, "filename_relative": "contracts/strategies/BaseCurveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/BaseCurveStrategy.sol", "filename_short": "contracts/strategies/BaseCurveStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302], "starting_column": 1, "ending_column": 2}}, "signature": "depositAll()"}}, {"type": "node", "name": "balance = IERC20(assetAddress).balanceOf(address(this))", "source_mapping": {"start": 2699, "length": 63, "filename_relative": "contracts/strategies/BaseCurveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/BaseCurveStrategy.sol", "filename_short": "contracts/strategies/BaseCurveStrategy.sol", "is_dependency": false, "lines": [73], "starting_column": 13, "ending_column": 76}, "type_specific_fields": {"parent": {"type": "function", "name": "depositAll", "source_mapping": {"start": 2273, "length": 1730, "filename_relative": "contracts/strategies/BaseCurveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/BaseCurveStrategy.sol", "filename_short": "contracts/strategies/BaseCurveStrategy.sol", "is_dependency": false, "lines": [65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseCurveStrategy", "source_mapping": {"start": 536, "length": 11031, "filename_relative": "contracts/strategies/BaseCurveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/BaseCurveStrategy.sol", "filename_short": "contracts/strategies/BaseCurveStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302], "starting_column": 1, "ending_column": 2}}, "signature": "depositAll()"}}}}], "description": "BaseCurveStrategy.depositAll() (contracts/strategies/BaseCurveStrategy.sol#65-101) has external calls inside a loop: balance = IERC20(assetAddress).balanceOf(address(this)) (contracts/strategies/BaseCurveStrategy.sol#73)\n", "markdown": "[BaseCurveStrategy.depositAll()](contracts/strategies/BaseCurveStrategy.sol#L65-L101) has external calls inside a loop: [balance = IERC20(assetAddress).balanceOf(address(this))](contracts/strategies/BaseCurveStrategy.sol#L73)\n", "first_markdown_element": "contracts/strategies/BaseCurveStrategy.sol#L65-L101", "id": "26a5a219889d82faba6f7fea83aeeb1f2fc2cc777e2272d5f590157842bec8d6", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "withdrawAll", "source_mapping": {"start": 7994, "length": 924, "filename_relative": "contracts/strategies/BaseCurveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/BaseCurveStrategy.sol", "filename_short": "contracts/strategies/BaseCurveStrategy.sol", "is_dependency": false, "lines": [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": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseCurveStrategy", "source_mapping": {"start": 536, "length": 11031, "filename_relative": "contracts/strategies/BaseCurveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/BaseCurveStrategy.sol", "filename_short": "contracts/strategies/BaseCurveStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302], "starting_column": 1, "ending_column": 2}}, "signature": "withdrawAll()"}}, {"type": "node", "name": "asset = IERC20(threePool.coins(i))", "source_mapping": {"start": 8782, "length": 41, "filename_relative": "contracts/strategies/BaseCurveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/BaseCurveStrategy.sol", "filename_short": "contracts/strategies/BaseCurveStrategy.sol", "is_dependency": false, "lines": [220], "starting_column": 13, "ending_column": 54}, "type_specific_fields": {"parent": {"type": "function", "name": "withdrawAll", "source_mapping": {"start": 7994, "length": 924, "filename_relative": "contracts/strategies/BaseCurveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/BaseCurveStrategy.sol", "filename_short": "contracts/strategies/BaseCurveStrategy.sol", "is_dependency": false, "lines": [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": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseCurveStrategy", "source_mapping": {"start": 536, "length": 11031, "filename_relative": "contracts/strategies/BaseCurveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/BaseCurveStrategy.sol", "filename_short": "contracts/strategies/BaseCurveStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302], "starting_column": 1, "ending_column": 2}}, "signature": "withdrawAll()"}}}}], "description": "BaseCurveStrategy.withdrawAll() (contracts/strategies/BaseCurveStrategy.sol#201-223) has external calls inside a loop: asset = IERC20(threePool.coins(i)) (contracts/strategies/BaseCurveStrategy.sol#220)\n", "markdown": "[BaseCurveStrategy.withdrawAll()](contracts/strategies/BaseCurveStrategy.sol#L201-L223) has external calls inside a loop: [asset = IERC20(threePool.coins(i))](contracts/strategies/BaseCurveStrategy.sol#L220)\n", "first_markdown_element": "contracts/strategies/BaseCurveStrategy.sol#L201-L223", "id": "de6309ed193ff3f223a7d8dba1deab2a4bc48fcf81c9f1e9097d15fc5a805edc", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "withdrawAll", "source_mapping": {"start": 7994, "length": 924, "filename_relative": "contracts/strategies/BaseCurveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/BaseCurveStrategy.sol", "filename_short": "contracts/strategies/BaseCurveStrategy.sol", "is_dependency": false, "lines": [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": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseCurveStrategy", "source_mapping": {"start": 536, "length": 11031, "filename_relative": "contracts/strategies/BaseCurveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/BaseCurveStrategy.sol", "filename_short": "contracts/strategies/BaseCurveStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302], "starting_column": 1, "ending_column": 2}}, "signature": "withdrawAll()"}}, {"type": "node", "name": "asset.safeTransfer(vaultAddress,asset.balanceOf(address(this)))", "source_mapping": {"start": 8837, "length": 64, "filename_relative": "contracts/strategies/BaseCurveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/BaseCurveStrategy.sol", "filename_short": "contracts/strategies/BaseCurveStrategy.sol", "is_dependency": false, "lines": [221], "starting_column": 13, "ending_column": 77}, "type_specific_fields": {"parent": {"type": "function", "name": "withdrawAll", "source_mapping": {"start": 7994, "length": 924, "filename_relative": "contracts/strategies/BaseCurveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/BaseCurveStrategy.sol", "filename_short": "contracts/strategies/BaseCurveStrategy.sol", "is_dependency": false, "lines": [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": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseCurveStrategy", "source_mapping": {"start": 536, "length": 11031, "filename_relative": "contracts/strategies/BaseCurveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/BaseCurveStrategy.sol", "filename_short": "contracts/strategies/BaseCurveStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302], "starting_column": 1, "ending_column": 2}}, "signature": "withdrawAll()"}}}}], "description": "BaseCurveStrategy.withdrawAll() (contracts/strategies/BaseCurveStrategy.sol#201-223) has external calls inside a loop: asset.safeTransfer(vaultAddress,asset.balanceOf(address(this))) (contracts/strategies/BaseCurveStrategy.sol#221)\n", "markdown": "[BaseCurveStrategy.withdrawAll()](contracts/strategies/BaseCurveStrategy.sol#L201-L223) has external calls inside a loop: [asset.safeTransfer(vaultAddress,asset.balanceOf(address(this)))](contracts/strategies/BaseCurveStrategy.sol#L221)\n", "first_markdown_element": "contracts/strategies/BaseCurveStrategy.sol#L201-L223", "id": "593d1e89d07d856e5e82980f5fe21389070ef42151709df1d09c9a3f85a986eb", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "depositAll", "source_mapping": {"start": 3741, "length": 406, "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [106, 107, 108, 109, 110, 111, 112, 113, 114, 115], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompoundStrategy", "source_mapping": {"start": 573, "length": 7942, "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230], "starting_column": 1, "ending_column": 2}}, "signature": "depositAll()"}}, {"type": "node", "name": "assetBalance = asset.balanceOf(address(this))", "source_mapping": {"start": 3971, "length": 53, "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [110], "starting_column": 13, "ending_column": 66}, "type_specific_fields": {"parent": {"type": "function", "name": "depositAll", "source_mapping": {"start": 3741, "length": 406, "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [106, 107, 108, 109, 110, 111, 112, 113, 114, 115], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompoundStrategy", "source_mapping": {"start": 573, "length": 7942, "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230], "starting_column": 1, "ending_column": 2}}, "signature": "depositAll()"}}}}], "description": "CompoundStrategy.depositAll() (contracts/strategies/CompoundStrategy.sol#106-115) has external calls inside a loop: assetBalance = asset.balanceOf(address(this)) (contracts/strategies/CompoundStrategy.sol#110)\n", "markdown": "[CompoundStrategy.depositAll()](contracts/strategies/CompoundStrategy.sol#L106-L115) has external calls inside a loop: [assetBalance = asset.balanceOf(address(this))](contracts/strategies/CompoundStrategy.sol#L110)\n", "first_markdown_element": "contracts/strategies/CompoundStrategy.sol#L106-L115", "id": "505213902c7623ffa7d65911e507482538c2bb5612cfa427ab25f2f6fb97d375", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_deposit", "source_mapping": {"start": 3316, "length": 293, "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [96, 97, 98, 99, 100, 101], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompoundStrategy", "source_mapping": {"start": 573, "length": 7942, "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230], "starting_column": 1, "ending_column": 2}}, "signature": "_deposit(address,uint256)"}}, {"type": "node", "name": "require(bool,string)(cToken.mint(_amount) == 0,cToken mint failed)", "source_mapping": {"start": 3546, "length": 56, "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [100], "starting_column": 9, "ending_column": 65}, "type_specific_fields": {"parent": {"type": "function", "name": "_deposit", "source_mapping": {"start": 3316, "length": 293, "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [96, 97, 98, 99, 100, 101], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompoundStrategy", "source_mapping": {"start": 573, "length": 7942, "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230], "starting_column": 1, "ending_column": 2}}, "signature": "_deposit(address,uint256)"}}}}], "description": "CompoundStrategy._deposit(address,uint256) (contracts/strategies/CompoundStrategy.sol#96-101) has external calls inside a loop: require(bool,string)(cToken.mint(_amount) == 0,cToken mint failed) (contracts/strategies/CompoundStrategy.sol#100)\n", "markdown": "[CompoundStrategy._deposit(address,uint256)](contracts/strategies/CompoundStrategy.sol#L96-L101) has external calls inside a loop: [require(bool,string)(cToken.mint(_amount) == 0,cToken mint failed)](contracts/strategies/CompoundStrategy.sol#L100)\n", "first_markdown_element": "contracts/strategies/CompoundStrategy.sol#L96-L101", "id": "8fbacbec6014be1d4227c8c59b96a7989248f7e6178f17cac255ad4b6b58fb03", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "withdrawAll", "source_mapping": {"start": 5860, "length": 816, "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompoundStrategy", "source_mapping": {"start": 573, "length": 7942, "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230], "starting_column": 1, "ending_column": 2}}, "signature": "withdrawAll()"}}, {"type": "node", "name": "cTokenBalance = cToken.balanceOf(address(this))", "source_mapping": {"start": 6208, "length": 55, "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [168], "starting_column": 13, "ending_column": 68}, "type_specific_fields": {"parent": {"type": "function", "name": "withdrawAll", "source_mapping": {"start": 5860, "length": 816, "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompoundStrategy", "source_mapping": {"start": 573, "length": 7942, "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230], "starting_column": 1, "ending_column": 2}}, "signature": "withdrawAll()"}}}}], "description": "CompoundStrategy.withdrawAll() (contracts/strategies/CompoundStrategy.sol#162-178) has external calls inside a loop: cTokenBalance = cToken.balanceOf(address(this)) (contracts/strategies/CompoundStrategy.sol#168)\n", "markdown": "[CompoundStrategy.withdrawAll()](contracts/strategies/CompoundStrategy.sol#L162-L178) has external calls inside a loop: [cTokenBalance = cToken.balanceOf(address(this))](contracts/strategies/CompoundStrategy.sol#L168)\n", "first_markdown_element": "contracts/strategies/CompoundStrategy.sol#L162-L178", "id": "149d284adde5b0357a4dbc74884794fdaa75de3ba6125b6544dd7d67224f3a4b", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "withdrawAll", "source_mapping": {"start": 5860, "length": 816, "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompoundStrategy", "source_mapping": {"start": 573, "length": 7942, "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230], "starting_column": 1, "ending_column": 2}}, "signature": "withdrawAll()"}}, {"type": "node", "name": "require(bool,string)(cToken.redeem(cTokenBalance) == 0,Redeem failed)", "source_mapping": {"start": 6318, "length": 59, "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [170], "starting_column": 17, "ending_column": 76}, "type_specific_fields": {"parent": {"type": "function", "name": "withdrawAll", "source_mapping": {"start": 5860, "length": 816, "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompoundStrategy", "source_mapping": {"start": 573, "length": 7942, "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230], "starting_column": 1, "ending_column": 2}}, "signature": "withdrawAll()"}}}}], "description": "CompoundStrategy.withdrawAll() (contracts/strategies/CompoundStrategy.sol#162-178) has external calls inside a loop: require(bool,string)(cToken.redeem(cTokenBalance) == 0,Redeem failed) (contracts/strategies/CompoundStrategy.sol#170)\n", "markdown": "[CompoundStrategy.withdrawAll()](contracts/strategies/CompoundStrategy.sol#L162-L178) has external calls inside a loop: [require(bool,string)(cToken.redeem(cTokenBalance) == 0,Redeem failed)](contracts/strategies/CompoundStrategy.sol#L170)\n", "first_markdown_element": "contracts/strategies/CompoundStrategy.sol#L162-L178", "id": "223811401cd4eb99f41b98af2965bf8a5e4bcb66060973f0cb0c94a7866469cc", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "withdrawAll", "source_mapping": {"start": 5860, "length": 816, "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompoundStrategy", "source_mapping": {"start": 573, "length": 7942, "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230], "starting_column": 1, "ending_column": 2}}, "signature": "withdrawAll()"}}, {"type": "node", "name": "assetBalance = asset.balanceOf(address(this))", "source_mapping": {"start": 6395, "length": 53, "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [171], "starting_column": 17, "ending_column": 70}, "type_specific_fields": {"parent": {"type": "function", "name": "withdrawAll", "source_mapping": {"start": 5860, "length": 816, "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompoundStrategy", "source_mapping": {"start": 573, "length": 7942, "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230], "starting_column": 1, "ending_column": 2}}, "signature": "withdrawAll()"}}}}], "description": "CompoundStrategy.withdrawAll() (contracts/strategies/CompoundStrategy.sol#162-178) has external calls inside a loop: assetBalance = asset.balanceOf(address(this)) (contracts/strategies/CompoundStrategy.sol#171)\n", "markdown": "[CompoundStrategy.withdrawAll()](contracts/strategies/CompoundStrategy.sol#L162-L178) has external calls inside a loop: [assetBalance = asset.balanceOf(address(this))](contracts/strategies/CompoundStrategy.sol#L171)\n", "first_markdown_element": "contracts/strategies/CompoundStrategy.sol#L162-L178", "id": "0707313dc597c816003534228c728430a01d5cd74f337454d1e1723628fe0397", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "depositAll", "source_mapping": {"start": 4527, "length": 317, "filename_relative": "contracts/strategies/MorphoAaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoAaveStrategy.sol", "filename_short": "contracts/strategies/MorphoAaveStrategy.sol", "is_dependency": false, "lines": [138, 139, 140, 141, 142, 143, 144, 145], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MorphoAaveStrategy", "source_mapping": {"start": 563, "length": 7087, "filename_relative": "contracts/strategies/MorphoAaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoAaveStrategy.sol", "filename_short": "contracts/strategies/MorphoAaveStrategy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235], "starting_column": 1, "ending_column": 2}}, "signature": "depositAll()"}}, {"type": "node", "name": "balance = IERC20(assetsMapped[i]).balanceOf(address(this))", "source_mapping": {"start": 4664, "length": 66, "filename_relative": "contracts/strategies/MorphoAaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoAaveStrategy.sol", "filename_short": "contracts/strategies/MorphoAaveStrategy.sol", "is_dependency": false, "lines": [140], "starting_column": 13, "ending_column": 79}, "type_specific_fields": {"parent": {"type": "function", "name": "depositAll", "source_mapping": {"start": 4527, "length": 317, "filename_relative": "contracts/strategies/MorphoAaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoAaveStrategy.sol", "filename_short": "contracts/strategies/MorphoAaveStrategy.sol", "is_dependency": false, "lines": [138, 139, 140, 141, 142, 143, 144, 145], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MorphoAaveStrategy", "source_mapping": {"start": 563, "length": 7087, "filename_relative": "contracts/strategies/MorphoAaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoAaveStrategy.sol", "filename_short": "contracts/strategies/MorphoAaveStrategy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235], "starting_column": 1, "ending_column": 2}}, "signature": "depositAll()"}}}}], "description": "MorphoAaveStrategy.depositAll() (contracts/strategies/MorphoAaveStrategy.sol#138-145) has external calls inside a loop: balance = IERC20(assetsMapped[i]).balanceOf(address(this)) (contracts/strategies/MorphoAaveStrategy.sol#140)\n", "markdown": "[MorphoAaveStrategy.depositAll()](contracts/strategies/MorphoAaveStrategy.sol#L138-L145) has external calls inside a loop: [balance = IERC20(assetsMapped[i]).balanceOf(address(this))](contracts/strategies/MorphoAaveStrategy.sol#L140)\n", "first_markdown_element": "contracts/strategies/MorphoAaveStrategy.sol#L138-L145", "id": "7206326cf9f3850b8c3373c2658a680a831e5ef9eaf2f6cf23907d5cd548bcb9", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_deposit", "source_mapping": {"start": 4033, "length": 398, "filename_relative": "contracts/strategies/MorphoAaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoAaveStrategy.sol", "filename_short": "contracts/strategies/MorphoAaveStrategy.sol", "is_dependency": false, "lines": [122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MorphoAaveStrategy", "source_mapping": {"start": 563, "length": 7087, "filename_relative": "contracts/strategies/MorphoAaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoAaveStrategy.sol", "filename_short": "contracts/strategies/MorphoAaveStrategy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235], "starting_column": 1, "ending_column": 2}}, "signature": "_deposit(address,uint256)"}}, {"type": "node", "name": "IMorpho(MORPHO).supply(pToken,address(this),_amount)", "source_mapping": {"start": 4218, "length": 159, "filename_relative": "contracts/strategies/MorphoAaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoAaveStrategy.sol", "filename_short": "contracts/strategies/MorphoAaveStrategy.sol", "is_dependency": false, "lines": [127, 128, 129, 130, 131], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "_deposit", "source_mapping": {"start": 4033, "length": 398, "filename_relative": "contracts/strategies/MorphoAaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoAaveStrategy.sol", "filename_short": "contracts/strategies/MorphoAaveStrategy.sol", "is_dependency": false, "lines": [122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MorphoAaveStrategy", "source_mapping": {"start": 563, "length": 7087, "filename_relative": "contracts/strategies/MorphoAaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoAaveStrategy.sol", "filename_short": "contracts/strategies/MorphoAaveStrategy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235], "starting_column": 1, "ending_column": 2}}, "signature": "_deposit(address,uint256)"}}}}], "description": "MorphoAaveStrategy._deposit(address,uint256) (contracts/strategies/MorphoAaveStrategy.sol#122-133) has external calls inside a loop: IMorpho(MORPHO).supply(pToken,address(this),_amount) (contracts/strategies/MorphoAaveStrategy.sol#127-131)\n", "markdown": "[MorphoAaveStrategy._deposit(address,uint256)](contracts/strategies/MorphoAaveStrategy.sol#L122-L133) has external calls inside a loop: [IMorpho(MORPHO).supply(pToken,address(this),_amount)](contracts/strategies/MorphoAaveStrategy.sol#L127-L131)\n", "first_markdown_element": "contracts/strategies/MorphoAaveStrategy.sol#L122-L133", "id": "adb7745bb6af9b1ff21db721d3e5e1fb1e5ae38e9c70c309592e2e4494babd48", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_checkBalance", "source_mapping": {"start": 6528, "length": 369, "filename_relative": "contracts/strategies/MorphoAaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoAaveStrategy.sol", "filename_short": "contracts/strategies/MorphoAaveStrategy.sol", "is_dependency": false, "lines": [202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MorphoAaveStrategy", "source_mapping": {"start": 563, "length": 7087, "filename_relative": "contracts/strategies/MorphoAaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoAaveStrategy.sol", "filename_short": "contracts/strategies/MorphoAaveStrategy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235], "starting_column": 1, "ending_column": 2}}, "signature": "_checkBalance(address)"}}, {"type": "node", "name": "(None,None,balance) = ILens(LENS).getCurrentSupplyBalanceInOf(pToken,address(this))", "source_mapping": {"start": 6778, "length": 112, "filename_relative": "contracts/strategies/MorphoAaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoAaveStrategy.sol", "filename_short": "contracts/strategies/MorphoAaveStrategy.sol", "is_dependency": false, "lines": [210, 211, 212, 213], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "_checkBalance", "source_mapping": {"start": 6528, "length": 369, "filename_relative": "contracts/strategies/MorphoAaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoAaveStrategy.sol", "filename_short": "contracts/strategies/MorphoAaveStrategy.sol", "is_dependency": false, "lines": [202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MorphoAaveStrategy", "source_mapping": {"start": 563, "length": 7087, "filename_relative": "contracts/strategies/MorphoAaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoAaveStrategy.sol", "filename_short": "contracts/strategies/MorphoAaveStrategy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235], "starting_column": 1, "ending_column": 2}}, "signature": "_checkBalance(address)"}}}}], "description": "MorphoAaveStrategy._checkBalance(address) (contracts/strategies/MorphoAaveStrategy.sol#202-214) has external calls inside a loop: (None,None,balance) = ILens(LENS).getCurrentSupplyBalanceInOf(pToken,address(this)) (contracts/strategies/MorphoAaveStrategy.sol#210-213)\n", "markdown": "[MorphoAaveStrategy._checkBalance(address)](contracts/strategies/MorphoAaveStrategy.sol#L202-L214) has external calls inside a loop: [(None,None,balance) = ILens(LENS).getCurrentSupplyBalanceInOf(pToken,address(this))](contracts/strategies/MorphoAaveStrategy.sol#L210-L213)\n", "first_markdown_element": "contracts/strategies/MorphoAaveStrategy.sol#L202-L214", "id": "220be42dcba97453c7610337463fad683691f37a3037910a26a76754649f9e97", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_withdraw", "source_mapping": {"start": 5268, "length": 462, "filename_relative": "contracts/strategies/MorphoAaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoAaveStrategy.sol", "filename_short": "contracts/strategies/MorphoAaveStrategy.sol", "is_dependency": false, "lines": [161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MorphoAaveStrategy", "source_mapping": {"start": 563, "length": 7087, "filename_relative": "contracts/strategies/MorphoAaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoAaveStrategy.sol", "filename_short": "contracts/strategies/MorphoAaveStrategy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235], "starting_column": 1, "ending_column": 2}}, "signature": "_withdraw(address,address,uint256)"}}, {"type": "node", "name": "IMorpho(MORPHO).withdraw(pToken,_amount)", "source_mapping": {"start": 5574, "length": 41, "filename_relative": "contracts/strategies/MorphoAaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoAaveStrategy.sol", "filename_short": "contracts/strategies/MorphoAaveStrategy.sol", "is_dependency": false, "lines": [171], "starting_column": 9, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "function", "name": "_withdraw", "source_mapping": {"start": 5268, "length": 462, "filename_relative": "contracts/strategies/MorphoAaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoAaveStrategy.sol", "filename_short": "contracts/strategies/MorphoAaveStrategy.sol", "is_dependency": false, "lines": [161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MorphoAaveStrategy", "source_mapping": {"start": 563, "length": 7087, "filename_relative": "contracts/strategies/MorphoAaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoAaveStrategy.sol", "filename_short": "contracts/strategies/MorphoAaveStrategy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235], "starting_column": 1, "ending_column": 2}}, "signature": "_withdraw(address,address,uint256)"}}}}], "description": "MorphoAaveStrategy._withdraw(address,address,uint256) (contracts/strategies/MorphoAaveStrategy.sol#161-174) has external calls inside a loop: IMorpho(MORPHO).withdraw(pToken,_amount) (contracts/strategies/MorphoAaveStrategy.sol#171)\n", "markdown": "[MorphoAaveStrategy._withdraw(address,address,uint256)](contracts/strategies/MorphoAaveStrategy.sol#L161-L174) has external calls inside a loop: [IMorpho(MORPHO).withdraw(pToken,_amount)](contracts/strategies/MorphoAaveStrategy.sol#L171)\n", "first_markdown_element": "contracts/strategies/MorphoAaveStrategy.sol#L161-L174", "id": "c192265d9de64f6b8cfc330f5dc6cc9bcbda90da06eaa848b472fc4d750c26a9", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "depositAll", "source_mapping": {"start": 6175, "length": 317, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [174, 175, 176, 177, 178, 179, 180, 181], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MorphoCompoundStrategy", "source_mapping": {"start": 608, "length": 7945, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251], "starting_column": 1, "ending_column": 2}}, "signature": "depositAll()"}}, {"type": "node", "name": "balance = IERC20(assetsMapped[i]).balanceOf(address(this))", "source_mapping": {"start": 6312, "length": 66, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [176], "starting_column": 13, "ending_column": 79}, "type_specific_fields": {"parent": {"type": "function", "name": "depositAll", "source_mapping": {"start": 6175, "length": 317, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [174, 175, 176, 177, 178, 179, 180, 181], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MorphoCompoundStrategy", "source_mapping": {"start": 608, "length": 7945, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251], "starting_column": 1, "ending_column": 2}}, "signature": "depositAll()"}}}}], "description": "MorphoCompoundStrategy.depositAll() (contracts/strategies/MorphoCompoundStrategy.sol#174-181) has external calls inside a loop: balance = IERC20(assetsMapped[i]).balanceOf(address(this)) (contracts/strategies/MorphoCompoundStrategy.sol#176)\n", "markdown": "[MorphoCompoundStrategy.depositAll()](contracts/strategies/MorphoCompoundStrategy.sol#L174-L181) has external calls inside a loop: [balance = IERC20(assetsMapped[i]).balanceOf(address(this))](contracts/strategies/MorphoCompoundStrategy.sol#L176)\n", "first_markdown_element": "contracts/strategies/MorphoCompoundStrategy.sol#L174-L181", "id": "4435df0408ad605b1d2e27798ba6e462d538fd9071efe95dc10d203cdb733f91", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_deposit", "source_mapping": {"start": 5691, "length": 388, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [160, 161, 162, 163, 164, 165, 166, 167, 168, 169], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MorphoCompoundStrategy", "source_mapping": {"start": 608, "length": 7945, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251], "starting_column": 1, "ending_column": 2}}, "signature": "_deposit(address,uint256)"}}, {"type": "node", "name": "IMorpho(MORPHO).supply(address(_getCTokenFor(_asset)),address(this),_amount)", "source_mapping": {"start": 5818, "length": 183, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [163, 164, 165, 166, 167], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "_deposit", "source_mapping": {"start": 5691, "length": 388, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [160, 161, 162, 163, 164, 165, 166, 167, 168, 169], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MorphoCompoundStrategy", "source_mapping": {"start": 608, "length": 7945, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251], "starting_column": 1, "ending_column": 2}}, "signature": "_deposit(address,uint256)"}}}}], "description": "MorphoCompoundStrategy._deposit(address,uint256) (contracts/strategies/MorphoCompoundStrategy.sol#160-169) has external calls inside a loop: IMorpho(MORPHO).supply(address(_getCTokenFor(_asset)),address(this),_amount) (contracts/strategies/MorphoCompoundStrategy.sol#163-167)\n", "markdown": "[MorphoCompoundStrategy._deposit(address,uint256)](contracts/strategies/MorphoCompoundStrategy.sol#L160-L169) has external calls inside a loop: [IMorpho(MORPHO).supply(address(_getCTokenFor(_asset)),address(this),_amount)](contracts/strategies/MorphoCompoundStrategy.sol#L163-L167)\n", "first_markdown_element": "contracts/strategies/MorphoCompoundStrategy.sol#L160-L169", "id": "e592dc99deb78a918cb70c7429ad3dccfd6cefc567796490d8ad0191fb3ce3cf", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_checkBalance", "source_mapping": {"start": 8191, "length": 360, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MorphoCompoundStrategy", "source_mapping": {"start": 608, "length": 7945, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251], "starting_column": 1, "ending_column": 2}}, "signature": "_checkBalance(address)"}}, {"type": "node", "name": "(None,None,balance) = ILens(LENS).getCurrentSupplyBalanceInOf(pToken,address(this))", "source_mapping": {"start": 8432, "length": 112, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [246, 247, 248, 249], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "_checkBalance", "source_mapping": {"start": 8191, "length": 360, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MorphoCompoundStrategy", "source_mapping": {"start": 608, "length": 7945, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251], "starting_column": 1, "ending_column": 2}}, "signature": "_checkBalance(address)"}}}}], "description": "MorphoCompoundStrategy._checkBalance(address) (contracts/strategies/MorphoCompoundStrategy.sol#238-250) has external calls inside a loop: (None,None,balance) = ILens(LENS).getCurrentSupplyBalanceInOf(pToken,address(this)) (contracts/strategies/MorphoCompoundStrategy.sol#246-249)\n", "markdown": "[MorphoCompoundStrategy._checkBalance(address)](contracts/strategies/MorphoCompoundStrategy.sol#L238-L250) has external calls inside a loop: [(None,None,balance) = ILens(LENS).getCurrentSupplyBalanceInOf(pToken,address(this))](contracts/strategies/MorphoCompoundStrategy.sol#L246-L249)\n", "first_markdown_element": "contracts/strategies/MorphoCompoundStrategy.sol#L238-L250", "id": "4ad956814054d668d2bcd740c9a939ff13d9a9107a39b22843b62d9296745c62", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_withdraw", "source_mapping": {"start": 6916, "length": 477, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MorphoCompoundStrategy", "source_mapping": {"start": 608, "length": 7945, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251], "starting_column": 1, "ending_column": 2}}, "signature": "_withdraw(address,address,uint256)"}}, {"type": "node", "name": "IMorpho(MORPHO).withdraw(pToken,_amount)", "source_mapping": {"start": 7213, "length": 41, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [207], "starting_column": 9, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "function", "name": "_withdraw", "source_mapping": {"start": 6916, "length": 477, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MorphoCompoundStrategy", "source_mapping": {"start": 608, "length": 7945, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251], "starting_column": 1, "ending_column": 2}}, "signature": "_withdraw(address,address,uint256)"}}}}], "description": "MorphoCompoundStrategy._withdraw(address,address,uint256) (contracts/strategies/MorphoCompoundStrategy.sol#197-210) has external calls inside a loop: IMorpho(MORPHO).withdraw(pToken,_amount) (contracts/strategies/MorphoCompoundStrategy.sol#207)\n", "markdown": "[MorphoCompoundStrategy._withdraw(address,address,uint256)](contracts/strategies/MorphoCompoundStrategy.sol#L197-L210) has external calls inside a loop: [IMorpho(MORPHO).withdraw(pToken,_amount)](contracts/strategies/MorphoCompoundStrategy.sol#L207)\n", "first_markdown_element": "contracts/strategies/MorphoCompoundStrategy.sol#L197-L210", "id": "9fb6d734664eb04074c6ab18d99d0ac67d2fc3fc2b4af6e5a3ae90d267d728e3", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "depositAll", "source_mapping": {"start": 1955, "length": 650, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BalancerMetaPoolStrategy", "source_mapping": {"start": 708, "length": 21715, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "depositAll()"}}, {"type": "node", "name": "strategyAmounts[i] = IERC20(strategyAssets[i]).balanceOf(address(this))", "source_mapping": {"start": 2436, "length": 101, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [69, 70, 71], "starting_column": 13, "ending_column": 14}, "type_specific_fields": {"parent": {"type": "function", "name": "depositAll", "source_mapping": {"start": 1955, "length": 650, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BalancerMetaPoolStrategy", "source_mapping": {"start": 708, "length": 21715, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "depositAll()"}}}}], "description": "BalancerMetaPoolStrategy.depositAll() (contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#60-74) has external calls inside a loop: strategyAmounts[i] = IERC20(strategyAssets[i]).balanceOf(address(this)) (contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#69-71)\n", "markdown": "[BalancerMetaPoolStrategy.depositAll()](contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L60-L74) has external calls inside a loop: [strategyAmounts[i] = IERC20(strategyAssets[i]).balanceOf(address(this))](contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L69-L71)\n", "first_markdown_element": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L60-L74", "id": "d86d9971c86af0eb231717fea9f1e0bad3b2a537c274f7ebaa5a2e458e1dd737", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "withdrawAll", "source_mapping": {"start": 15746, "length": 3500, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [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], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BalancerMetaPoolStrategy", "source_mapping": {"start": 708, "length": 21715, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "withdrawAll()"}}, {"type": "node", "name": "poolAssetAmount = IERC20(poolAsset).balanceOf(address(this))", "source_mapping": {"start": 18385, "length": 98, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [447, 448, 449], "starting_column": 13, "ending_column": 14}, "type_specific_fields": {"parent": {"type": "function", "name": "withdrawAll", "source_mapping": {"start": 15746, "length": 3500, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [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], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BalancerMetaPoolStrategy", "source_mapping": {"start": 708, "length": 21715, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "withdrawAll()"}}}}], "description": "BalancerMetaPoolStrategy.withdrawAll() (contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#392-473) has external calls inside a loop: poolAssetAmount = IERC20(poolAsset).balanceOf(address(this)) (contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#447-449)\n", "markdown": "[BalancerMetaPoolStrategy.withdrawAll()](contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L392-L473) has external calls inside a loop: [poolAssetAmount = IERC20(poolAsset).balanceOf(address(this))](contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L447-L449)\n", "first_markdown_element": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L392-L473", "id": "dc9c8b87043fcd9af37e7d32a34133389887e707f304ade5efe70347c2f2b2d2", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_unwrapPoolAsset", "source_mapping": {"start": 14919, "length": 480, "filename_relative": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_short": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "is_dependency": false, "lines": [374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseBalancerStrategy", "source_mapping": {"start": 798, "length": 17939, "filename_relative": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_short": "contracts/strategies/balancer/BaseBalancerStrategy.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, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 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], "starting_column": 1, "ending_column": 2}}, "signature": "_unwrapPoolAsset(address,uint256)"}}, {"type": "node", "name": "unwrappedAmount = IWstETH(wstETH).unwrap(amount)", "source_mapping": {"start": 15083, "length": 48, "filename_relative": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_short": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "is_dependency": false, "lines": [379], "starting_column": 13, "ending_column": 61}, "type_specific_fields": {"parent": {"type": "function", "name": "_unwrapPoolAsset", "source_mapping": {"start": 14919, "length": 480, "filename_relative": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_short": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "is_dependency": false, "lines": [374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseBalancerStrategy", "source_mapping": {"start": 798, "length": 17939, "filename_relative": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_short": "contracts/strategies/balancer/BaseBalancerStrategy.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, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 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], "starting_column": 1, "ending_column": 2}}, "signature": "_unwrapPoolAsset(address,uint256)"}}}}], "description": "BaseBalancerStrategy._unwrapPoolAsset(address,uint256) (contracts/strategies/balancer/BaseBalancerStrategy.sol#374-389) has external calls inside a loop: unwrappedAmount = IWstETH(wstETH).unwrap(amount) (contracts/strategies/balancer/BaseBalancerStrategy.sol#379)\n", "markdown": "[BaseBalancerStrategy._unwrapPoolAsset(address,uint256)](contracts/strategies/balancer/BaseBalancerStrategy.sol#L374-L389) has external calls inside a loop: [unwrappedAmount = IWstETH(wstETH).unwrap(amount)](contracts/strategies/balancer/BaseBalancerStrategy.sol#L379)\n", "first_markdown_element": "contracts/strategies/balancer/BaseBalancerStrategy.sol#L374-L389", "id": "9c4c12b8ede308c0dae4fc7ddc355166ba8cbb68b555b0aa38471966cc0848c1", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_unwrapPoolAsset", "source_mapping": {"start": 14919, "length": 480, "filename_relative": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_short": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "is_dependency": false, "lines": [374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseBalancerStrategy", "source_mapping": {"start": 798, "length": 17939, "filename_relative": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_short": "contracts/strategies/balancer/BaseBalancerStrategy.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, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 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], "starting_column": 1, "ending_column": 2}}, "signature": "_unwrapPoolAsset(address,uint256)"}}, {"type": "node", "name": "unwrappedAmount = IERC4626(sfrxETH).withdraw(amount,address(this),address(this))", "source_mapping": {"start": 15183, "length": 144, "filename_relative": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_short": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "is_dependency": false, "lines": [381, 382, 383, 384, 385], "starting_column": 13, "ending_column": 14}, "type_specific_fields": {"parent": {"type": "function", "name": "_unwrapPoolAsset", "source_mapping": {"start": 14919, "length": 480, "filename_relative": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_short": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "is_dependency": false, "lines": [374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseBalancerStrategy", "source_mapping": {"start": 798, "length": 17939, "filename_relative": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_short": "contracts/strategies/balancer/BaseBalancerStrategy.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, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 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], "starting_column": 1, "ending_column": 2}}, "signature": "_unwrapPoolAsset(address,uint256)"}}}}], "description": "BaseBalancerStrategy._unwrapPoolAsset(address,uint256) (contracts/strategies/balancer/BaseBalancerStrategy.sol#374-389) has external calls inside a loop: unwrappedAmount = IERC4626(sfrxETH).withdraw(amount,address(this),address(this)) (contracts/strategies/balancer/BaseBalancerStrategy.sol#381-385)\n", "markdown": "[BaseBalancerStrategy._unwrapPoolAsset(address,uint256)](contracts/strategies/balancer/BaseBalancerStrategy.sol#L374-L389) has external calls inside a loop: [unwrappedAmount = IERC4626(sfrxETH).withdraw(amount,address(this),address(this))](contracts/strategies/balancer/BaseBalancerStrategy.sol#L381-L385)\n", "first_markdown_element": "contracts/strategies/balancer/BaseBalancerStrategy.sol#L374-L389", "id": "405e462e6aecdf15a25315a74a7bbe2334ed2f0cf2ac1a71d8774baaa5c3b79a", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_abstractSetPToken", "source_mapping": {"start": 20214, "length": 478, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BalancerMetaPoolStrategy", "source_mapping": {"start": 708, "length": 21715, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "_abstractSetPToken(address,address)"}}, {"type": "node", "name": "IERC20(stETH).approve(wstETH,type()(uint256).max)", "source_mapping": {"start": 20435, "length": 48, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [506], "starting_column": 13, "ending_column": 61}, "type_specific_fields": {"parent": {"type": "function", "name": "_abstractSetPToken", "source_mapping": {"start": 20214, "length": 478, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BalancerMetaPoolStrategy", "source_mapping": {"start": 708, "length": 21715, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "_abstractSetPToken(address,address)"}}}}], "description": "BalancerMetaPoolStrategy._abstractSetPToken(address,address) (contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#502-512) has external calls inside a loop: IERC20(stETH).approve(wstETH,type()(uint256).max) (contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#506)\n", "markdown": "[BalancerMetaPoolStrategy._abstractSetPToken(address,address)](contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L502-L512) has external calls inside a loop: [IERC20(stETH).approve(wstETH,type()(uint256).max)](contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L506)\n", "first_markdown_element": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L502-L512", "id": "6c562c630550eae33a78899c960cb311ad278fd876aed6d3334b0bc0d44e2256", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_approveAsset", "source_mapping": {"start": 20956, "length": 211, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [520, 521, 522, 523, 524], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BalancerMetaPoolStrategy", "source_mapping": {"start": 708, "length": 21715, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "_approveAsset(address)"}}, {"type": "node", "name": "asset.approve(address(balancerVault),type()(uint256).max)", "source_mapping": {"start": 21104, "length": 56, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [523], "starting_column": 9, "ending_column": 65}, "type_specific_fields": {"parent": {"type": "function", "name": "_approveAsset", "source_mapping": {"start": 20956, "length": 211, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [520, 521, 522, 523, 524], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BalancerMetaPoolStrategy", "source_mapping": {"start": 708, "length": 21715, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "_approveAsset(address)"}}}}], "description": "BalancerMetaPoolStrategy._approveAsset(address) (contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#520-524) has external calls inside a loop: asset.approve(address(balancerVault),type()(uint256).max) (contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#523)\n", "markdown": "[BalancerMetaPoolStrategy._approveAsset(address)](contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L520-L524) has external calls inside a loop: [asset.approve(address(balancerVault),type()(uint256).max)](contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L523)\n", "first_markdown_element": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L520-L524", "id": "1268a6bcf86010c06e9d3e2482ee9f94781a267ed96edfb316380aa9f8c14ed8", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_abstractSetPToken", "source_mapping": {"start": 20214, "length": 478, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BalancerMetaPoolStrategy", "source_mapping": {"start": 708, "length": 21715, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "_abstractSetPToken(address,address)"}}, {"type": "node", "name": "IERC20(frxETH).approve(sfrxETH,type()(uint256).max)", "source_mapping": {"start": 20591, "length": 50, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [509], "starting_column": 13, "ending_column": 63}, "type_specific_fields": {"parent": {"type": "function", "name": "_abstractSetPToken", "source_mapping": {"start": 20214, "length": 478, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BalancerMetaPoolStrategy", "source_mapping": {"start": 708, "length": 21715, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "_abstractSetPToken(address,address)"}}}}], "description": "BalancerMetaPoolStrategy._abstractSetPToken(address,address) (contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#502-512) has external calls inside a loop: IERC20(frxETH).approve(sfrxETH,type()(uint256).max) (contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#509)\n", "markdown": "[BalancerMetaPoolStrategy._abstractSetPToken(address,address)](contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L502-L512) has external calls inside a loop: [IERC20(frxETH).approve(sfrxETH,type()(uint256).max)](contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L509)\n", "first_markdown_element": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L502-L512", "id": "66750974c78c70a7d77e87d18214ceefb99f1b8507c7437d2e1103f1900685db", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "withdrawAllFromStrategies", "source_mapping": {"start": 21896, "length": 245, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [618, 619, 620, 621, 622, 623], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultAdmin", "source_mapping": {"start": 549, "length": 22063, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638], "starting_column": 1, "ending_column": 2}}, "signature": "withdrawAllFromStrategies()"}}, {"type": "node", "name": "IStrategy(allStrategies[i]).withdrawAll()", "source_mapping": {"start": 22083, "length": 41, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [621], "starting_column": 13, "ending_column": 54}, "type_specific_fields": {"parent": {"type": "function", "name": "withdrawAllFromStrategies", "source_mapping": {"start": 21896, "length": 245, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [618, 619, 620, 621, 622, 623], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultAdmin", "source_mapping": {"start": 549, "length": 22063, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638], "starting_column": 1, "ending_column": 2}}, "signature": "withdrawAllFromStrategies()"}}}}], "description": "VaultAdmin.withdrawAllFromStrategies() (contracts/vault/VaultAdmin.sol#618-623) has external calls inside a loop: IStrategy(allStrategies[i]).withdrawAll() (contracts/vault/VaultAdmin.sol#621)\n", "markdown": "[VaultAdmin.withdrawAllFromStrategies()](contracts/vault/VaultAdmin.sol#L618-L623) has external calls inside a loop: [IStrategy(allStrategies[i]).withdrawAll()](contracts/vault/VaultAdmin.sol#L621)\n", "first_markdown_element": "contracts/vault/VaultAdmin.sol#L618-L623", "id": "2dda9b35efce73ce413227e000e9e39d58a8844b585ce320002128d6160cac99", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "deposit", "source_mapping": {"start": 1431, "length": 247, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [45, 46, 47, 48, 49, 50], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OETHZapper", "source_mapping": {"start": 288, "length": 2569, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81], "starting_column": 1, "ending_column": 2}}, "signature": "deposit()"}}, {"type": "node", "name": "weth.deposit{value: balance}()", "source_mapping": {"start": 1542, "length": 32, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [47], "starting_column": 9, "ending_column": 41}, "type_specific_fields": {"parent": {"type": "function", "name": "deposit", "source_mapping": {"start": 1431, "length": 247, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [45, 46, 47, 48, 49, 50], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OETHZapper", "source_mapping": {"start": 288, "length": 2569, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81], "starting_column": 1, "ending_column": 2}}, "signature": "deposit()"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "Zap(msg.sender,ETH_MARKER,balance)", "source_mapping": {"start": 1584, "length": 41, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [48], "starting_column": 9, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "function", "name": "deposit", "source_mapping": {"start": 1431, "length": 247, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [45, 46, 47, 48, 49, 50], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OETHZapper", "source_mapping": {"start": 288, "length": 2569, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81], "starting_column": 1, "ending_column": 2}}, "signature": "deposit()"}}}, "additional_fields": {"underlying_type": "event"}}], "description": "Reentrancy in OETHZapper.deposit() (contracts/vault/OETHZapper.sol#45-50):\n\tExternal calls:\n\t- weth.deposit{value: balance}() (contracts/vault/OETHZapper.sol#47)\n\tEvent emitted after the call(s):\n\t- Zap(msg.sender,ETH_MARKER,balance) (contracts/vault/OETHZapper.sol#48)\n", "markdown": "Reentrancy in [OETHZapper.deposit()](contracts/vault/OETHZapper.sol#L45-L50):\n\tExternal calls:\n\t- [weth.deposit{value: balance}()](contracts/vault/OETHZapper.sol#L47)\n\tEvent emitted after the call(s):\n\t- [Zap(msg.sender,ETH_MARKER,balance)](contracts/vault/OETHZapper.sol#L48)\n", "first_markdown_element": "contracts/vault/OETHZapper.sol#L45-L50", "id": "0b34d6f9d901c186b1e45ca84e1e7c80a926306176067ad95c77f311eec027f8", "check": "reentrancy-events", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "depositSFRXETH", "source_mapping": {"start": 1917, "length": 274, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [58, 59, 60, 61, 62, 63, 64, 65], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OETHZapper", "source_mapping": {"start": 288, "length": 2569, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81], "starting_column": 1, "ending_column": 2}}, "signature": "depositSFRXETH(uint256,uint256)"}}, {"type": "node", "name": "sfrxeth.redeem(amount,address(this),msg.sender)", "source_mapping": {"start": 2031, "length": 49, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [62], "starting_column": 9, "ending_column": 58}, "type_specific_fields": {"parent": {"type": "function", "name": "depositSFRXETH", "source_mapping": {"start": 1917, "length": 274, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [58, 59, 60, 61, 62, 63, 64, 65], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OETHZapper", "source_mapping": {"start": 288, "length": 2569, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81], "starting_column": 1, "ending_column": 2}}, "signature": "depositSFRXETH(uint256,uint256)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "Zap(msg.sender,address(sfrxeth),amount)", "source_mapping": {"start": 2090, "length": 46, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [63], "starting_column": 9, "ending_column": 55}, "type_specific_fields": {"parent": {"type": "function", "name": "depositSFRXETH", "source_mapping": {"start": 1917, "length": 274, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [58, 59, 60, 61, 62, 63, 64, 65], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OETHZapper", "source_mapping": {"start": 288, "length": 2569, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81], "starting_column": 1, "ending_column": 2}}, "signature": "depositSFRXETH(uint256,uint256)"}}}, "additional_fields": {"underlying_type": "event"}}], "description": "Reentrancy in OETHZapper.depositSFRXETH(uint256,uint256) (contracts/vault/OETHZapper.sol#58-65):\n\tExternal calls:\n\t- sfrxeth.redeem(amount,address(this),msg.sender) (contracts/vault/OETHZapper.sol#62)\n\tEvent emitted after the call(s):\n\t- Zap(msg.sender,address(sfrxeth),amount) (contracts/vault/OETHZapper.sol#63)\n", "markdown": "Reentrancy in [OETHZapper.depositSFRXETH(uint256,uint256)](contracts/vault/OETHZapper.sol#L58-L65):\n\tExternal calls:\n\t- [sfrxeth.redeem(amount,address(this),msg.sender)](contracts/vault/OETHZapper.sol#L62)\n\tEvent emitted after the call(s):\n\t- [Zap(msg.sender,address(sfrxeth),amount)](contracts/vault/OETHZapper.sol#L63)\n", "first_markdown_element": "contracts/vault/OETHZapper.sol#L58-L65", "id": "85851a0b1393fc930cd8f8cc03338bba3e843ec8b604c42ee9b6932e81b2514d", "check": "reentrancy-events", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "execute", "source_mapping": {"start": 5974, "length": 615, "filename_relative": "contracts/governance/Governor.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/Governor.sol", "filename_short": "contracts/governance/Governor.sol", "is_dependency": false, "lines": [183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Governor", "source_mapping": {"start": 250, "length": 7671, "filename_relative": "contracts/governance/Governor.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/Governor.sol", "filename_short": "contracts/governance/Governor.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242], "starting_column": 1, "ending_column": 2}}, "signature": "execute(uint256)"}}, {"type": "node", "name": "executeTransaction(proposal.targets[i],proposal.signatures[i],proposal.calldatas[i],proposal.eta)", "source_mapping": {"start": 6351, "length": 178, "filename_relative": "contracts/governance/Governor.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/Governor.sol", "filename_short": "contracts/governance/Governor.sol", "is_dependency": false, "lines": [191, 192, 193, 194, 195, 196], "starting_column": 13, "ending_column": 14}, "type_specific_fields": {"parent": {"type": "function", "name": "execute", "source_mapping": {"start": 5974, "length": 615, "filename_relative": "contracts/governance/Governor.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/Governor.sol", "filename_short": "contracts/governance/Governor.sol", "is_dependency": false, "lines": [183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Governor", "source_mapping": {"start": 250, "length": 7671, "filename_relative": "contracts/governance/Governor.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/Governor.sol", "filename_short": "contracts/governance/Governor.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242], "starting_column": 1, "ending_column": 2}}, "signature": "execute(uint256)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "(success,returnData) = target.call(callData)", "source_mapping": {"start": 5793, "length": 63, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [211], "starting_column": 9, "ending_column": 72}, "type_specific_fields": {"parent": {"type": "function", "name": "executeTransaction", "source_mapping": {"start": 4611, "length": 1434, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Timelock", "source_mapping": {"start": 298, "length": 6391, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242], "starting_column": 1, "ending_column": 2}}, "signature": "executeTransaction(address,string,bytes,uint256)"}}}, "additional_fields": {"underlying_type": "external_calls_sending_eth"}}, {"type": "node", "name": "ProposalExecuted(proposalId)", "source_mapping": {"start": 6549, "length": 33, "filename_relative": "contracts/governance/Governor.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/Governor.sol", "filename_short": "contracts/governance/Governor.sol", "is_dependency": false, "lines": [198], "starting_column": 9, "ending_column": 42}, "type_specific_fields": {"parent": {"type": "function", "name": "execute", "source_mapping": {"start": 5974, "length": 615, "filename_relative": "contracts/governance/Governor.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/Governor.sol", "filename_short": "contracts/governance/Governor.sol", "is_dependency": false, "lines": [183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Governor", "source_mapping": {"start": 250, "length": 7671, "filename_relative": "contracts/governance/Governor.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/Governor.sol", "filename_short": "contracts/governance/Governor.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242], "starting_column": 1, "ending_column": 2}}, "signature": "execute(uint256)"}}}, "additional_fields": {"underlying_type": "event"}}], "description": "Reentrancy in Governor.execute(uint256) (contracts/governance/Governor.sol#183-199):\n\tExternal calls:\n\t- executeTransaction(proposal.targets[i],proposal.signatures[i],proposal.calldatas[i],proposal.eta) (contracts/governance/Governor.sol#191-196)\n\t\t- (success,returnData) = target.call(callData) (contracts/timelock/Timelock.sol#211)\n\tEvent emitted after the call(s):\n\t- ProposalExecuted(proposalId) (contracts/governance/Governor.sol#198)\n", "markdown": "Reentrancy in [Governor.execute(uint256)](contracts/governance/Governor.sol#L183-L199):\n\tExternal calls:\n\t- [executeTransaction(proposal.targets[i],proposal.signatures[i],proposal.calldatas[i],proposal.eta)](contracts/governance/Governor.sol#L191-L196)\n\t\t- [(success,returnData) = target.call(callData)](contracts/timelock/Timelock.sol#L211)\n\tEvent emitted after the call(s):\n\t- [ProposalExecuted(proposalId)](contracts/governance/Governor.sol#L198)\n", "first_markdown_element": "contracts/governance/Governor.sol#L183-L199", "id": "95995bb210db1cdec0e731e562ad878ea9fedf5454257a18e4bcbbacaf2e2ec5", "check": "reentrancy-events", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "executeTransaction", "source_mapping": {"start": 4611, "length": 1434, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Timelock", "source_mapping": {"start": 298, "length": 6391, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242], "starting_column": 1, "ending_column": 2}}, "signature": "executeTransaction(address,string,bytes,uint256)"}}, {"type": "node", "name": "(success,returnData) = target.call(callData)", "source_mapping": {"start": 5793, "length": 63, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [211], "starting_column": 9, "ending_column": 72}, "type_specific_fields": {"parent": {"type": "function", "name": "executeTransaction", "source_mapping": {"start": 4611, "length": 1434, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Timelock", "source_mapping": {"start": 298, "length": 6391, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242], "starting_column": 1, "ending_column": 2}}, "signature": "executeTransaction(address,string,bytes,uint256)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "ExecuteTransaction(txHash,target,signature,data,eta)", "source_mapping": {"start": 5949, "length": 61, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [217], "starting_column": 9, "ending_column": 70}, "type_specific_fields": {"parent": {"type": "function", "name": "executeTransaction", "source_mapping": {"start": 4611, "length": 1434, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Timelock", "source_mapping": {"start": 298, "length": 6391, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242], "starting_column": 1, "ending_column": 2}}, "signature": "executeTransaction(address,string,bytes,uint256)"}}}, "additional_fields": {"underlying_type": "event"}}], "description": "Reentrancy in Timelock.executeTransaction(address,string,bytes,uint256) (contracts/timelock/Timelock.sol#171-220):\n\tExternal calls:\n\t- (success,returnData) = target.call(callData) (contracts/timelock/Timelock.sol#211)\n\tEvent emitted after the call(s):\n\t- ExecuteTransaction(txHash,target,signature,data,eta) (contracts/timelock/Timelock.sol#217)\n", "markdown": "Reentrancy in [Timelock.executeTransaction(address,string,bytes,uint256)](contracts/timelock/Timelock.sol#L171-L220):\n\tExternal calls:\n\t- [(success,returnData) = target.call(callData)](contracts/timelock/Timelock.sol#L211)\n\tEvent emitted after the call(s):\n\t- [ExecuteTransaction(txHash,target,signature,data,eta)](contracts/timelock/Timelock.sol#L217)\n", "first_markdown_element": "contracts/timelock/Timelock.sol#L171-L220", "id": "e0774bc5347fd830d0fad9bea289f171838e571546d52b9f1c906de97bc3fa0c", "check": "reentrancy-events", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "initialize", "source_mapping": {"start": 1352, "length": 545, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "InitializeGovernedUpgradeabilityProxy", "source_mapping": {"start": 450, "length": 6294, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [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], "starting_column": 1, "ending_column": 2}}, "signature": "initialize(address,address,bytes)"}}, {"type": "node", "name": "(success) = _logic.delegatecall(_data)", "source_mapping": {"start": 1765, "length": 45, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [46], "starting_column": 13, "ending_column": 58}, "type_specific_fields": {"parent": {"type": "function", "name": "initialize", "source_mapping": {"start": 1352, "length": 545, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "InitializeGovernedUpgradeabilityProxy", "source_mapping": {"start": 450, "length": 6294, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [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], "starting_column": 1, "ending_column": 2}}, "signature": "initialize(address,address,bytes)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "GovernorshipTransferred(_governor(),_newGovernor)", "source_mapping": {"start": 5648, "length": 55, "filename_relative": "contracts/governance/Governable.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/Governable.sol", "filename_short": "contracts/governance/Governable.sol", "is_dependency": false, "lines": [173], "starting_column": 9, "ending_column": 64}, "type_specific_fields": {"parent": {"type": "function", "name": "_changeGovernor", "source_mapping": {"start": 5507, "length": 239, "filename_relative": "contracts/governance/Governable.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/Governable.sol", "filename_short": "contracts/governance/Governable.sol", "is_dependency": false, "lines": [171, 172, 173, 174, 175], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Governable", "source_mapping": {"start": 392, "length": 5356, "filename_relative": "contracts/governance/Governable.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/Governable.sol", "filename_short": "contracts/governance/Governable.sol", "is_dependency": false, "lines": [11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176], "starting_column": 1, "ending_column": 2}}, "signature": "_changeGovernor(address)"}}}, "additional_fields": {"underlying_type": "event"}}, {"type": "node", "name": "_changeGovernor(_initGovernor)", "source_mapping": {"start": 1860, "length": 30, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [49], "starting_column": 9, "ending_column": 39}, "type_specific_fields": {"parent": {"type": "function", "name": "initialize", "source_mapping": {"start": 1352, "length": 545, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "InitializeGovernedUpgradeabilityProxy", "source_mapping": {"start": 450, "length": 6294, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [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], "starting_column": 1, "ending_column": 2}}, "signature": "initialize(address,address,bytes)"}}}, "additional_fields": {"underlying_type": "event"}}], "description": "Reentrancy in InitializeGovernedUpgradeabilityProxy.initialize(address,address,bytes) (contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#34-50):\n\tExternal calls:\n\t- (success) = _logic.delegatecall(_data) (contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#46)\n\tEvent emitted after the call(s):\n\t- GovernorshipTransferred(_governor(),_newGovernor) (contracts/governance/Governable.sol#173)\n\t\t- _changeGovernor(_initGovernor) (contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#49)\n", "markdown": "Reentrancy in [InitializeGovernedUpgradeabilityProxy.initialize(address,address,bytes)](contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#L34-L50):\n\tExternal calls:\n\t- [(success) = _logic.delegatecall(_data)](contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#L46)\n\tEvent emitted after the call(s):\n\t- [GovernorshipTransferred(_governor(),_newGovernor)](contracts/governance/Governable.sol#L173)\n\t\t- [_changeGovernor(_initGovernor)](contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#L49)\n", "first_markdown_element": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#L34-L50", "id": "c1886d12f5031f05c023a4db6d085929c7b6e1bcb012fe5440210bd6de8db2db", "check": "reentrancy-events", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "removeStrategy", "source_mapping": {"start": 13917, "length": 1222, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [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], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultAdmin", "source_mapping": {"start": 549, "length": 22063, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638], "starting_column": 1, "ending_column": 2}}, "signature": "removeStrategy(address)"}}, {"type": "node", "name": "strategy.withdrawAll()", "source_mapping": {"start": 15058, "length": 22, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [406], "starting_column": 13, "ending_column": 35}, "type_specific_fields": {"parent": {"type": "function", "name": "removeStrategy", "source_mapping": {"start": 13917, "length": 1222, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [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], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultAdmin", "source_mapping": {"start": 549, "length": 22063, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638], "starting_column": 1, "ending_column": 2}}, "signature": "removeStrategy(address)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "StrategyRemoved(_addr)", "source_mapping": {"start": 15095, "length": 27, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [408], "starting_column": 13, "ending_column": 40}, "type_specific_fields": {"parent": {"type": "function", "name": "removeStrategy", "source_mapping": {"start": 13917, "length": 1222, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [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], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultAdmin", "source_mapping": {"start": 549, "length": 22063, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638], "starting_column": 1, "ending_column": 2}}, "signature": "removeStrategy(address)"}}}, "additional_fields": {"underlying_type": "event"}}], "description": "Reentrancy in VaultAdmin.removeStrategy(address) (contracts/vault/VaultAdmin.sol#375-410):\n\tExternal calls:\n\t- strategy.withdrawAll() (contracts/vault/VaultAdmin.sol#406)\n\tEvent emitted after the call(s):\n\t- StrategyRemoved(_addr) (contracts/vault/VaultAdmin.sol#408)\n", "markdown": "Reentrancy in [VaultAdmin.removeStrategy(address)](contracts/vault/VaultAdmin.sol#L375-L410):\n\tExternal calls:\n\t- [strategy.withdrawAll()](contracts/vault/VaultAdmin.sol#L406)\n\tEvent emitted after the call(s):\n\t- [StrategyRemoved(_addr)](contracts/vault/VaultAdmin.sol#L408)\n", "first_markdown_element": "contracts/vault/VaultAdmin.sol#L375-L410", "id": "bf97321ba1afc55396d37d4554c182cc74bd59681cfbd04de59fbf2037aa0de8", "check": "reentrancy-events", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "setRewardTokenConfig", "source_mapping": {"start": 4741, "length": 2356, "filename_relative": "contracts/harvest/BaseHarvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/BaseHarvester.sol", "filename_short": "contracts/harvest/BaseHarvester.sol", "is_dependency": false, "lines": [118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseHarvester", "source_mapping": {"start": 733, "length": 12493, "filename_relative": "contracts/harvest/BaseHarvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/BaseHarvester.sol", "filename_short": "contracts/harvest/BaseHarvester.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358], "starting_column": 1, "ending_column": 2}}, "signature": "setRewardTokenConfig(address,uint16,uint16,address,uint256,bool)"}}, {"type": "node", "name": "token.safeApprove(oldUniswapAddress,0)", "source_mapping": {"start": 6537, "length": 39, "filename_relative": "contracts/harvest/BaseHarvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/BaseHarvester.sol", "filename_short": "contracts/harvest/BaseHarvester.sol", "is_dependency": false, "lines": [167], "starting_column": 13, "ending_column": 52}, "type_specific_fields": {"parent": {"type": "function", "name": "setRewardTokenConfig", "source_mapping": {"start": 4741, "length": 2356, "filename_relative": "contracts/harvest/BaseHarvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/BaseHarvester.sol", "filename_short": "contracts/harvest/BaseHarvester.sol", "is_dependency": false, "lines": [118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseHarvester", "source_mapping": {"start": 733, "length": 12493, "filename_relative": "contracts/harvest/BaseHarvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/BaseHarvester.sol", "filename_short": "contracts/harvest/BaseHarvester.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358], "starting_column": 1, "ending_column": 2}}, "signature": "setRewardTokenConfig(address,uint16,uint16,address,uint256,bool)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "token.safeApprove(_uniswapV2CompatibleAddr,0)", "source_mapping": {"start": 6716, "length": 46, "filename_relative": "contracts/harvest/BaseHarvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/BaseHarvester.sol", "filename_short": "contracts/harvest/BaseHarvester.sol", "is_dependency": false, "lines": [172], "starting_column": 13, "ending_column": 59}, "type_specific_fields": {"parent": {"type": "function", "name": "setRewardTokenConfig", "source_mapping": {"start": 4741, "length": 2356, "filename_relative": "contracts/harvest/BaseHarvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/BaseHarvester.sol", "filename_short": "contracts/harvest/BaseHarvester.sol", "is_dependency": false, "lines": [118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseHarvester", "source_mapping": {"start": 733, "length": 12493, "filename_relative": "contracts/harvest/BaseHarvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/BaseHarvester.sol", "filename_short": "contracts/harvest/BaseHarvester.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358], "starting_column": 1, "ending_column": 2}}, "signature": "setRewardTokenConfig(address,uint16,uint16,address,uint256,bool)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "token.safeApprove(_uniswapV2CompatibleAddr,type()(uint256).max)", "source_mapping": {"start": 6776, "length": 62, "filename_relative": "contracts/harvest/BaseHarvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/BaseHarvester.sol", "filename_short": "contracts/harvest/BaseHarvester.sol", "is_dependency": false, "lines": [173], "starting_column": 13, "ending_column": 75}, "type_specific_fields": {"parent": {"type": "function", "name": "setRewardTokenConfig", "source_mapping": {"start": 4741, "length": 2356, "filename_relative": "contracts/harvest/BaseHarvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/BaseHarvester.sol", "filename_short": "contracts/harvest/BaseHarvester.sol", "is_dependency": false, "lines": [118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseHarvester", "source_mapping": {"start": 733, "length": 12493, "filename_relative": "contracts/harvest/BaseHarvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/BaseHarvester.sol", "filename_short": "contracts/harvest/BaseHarvester.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358], "starting_column": 1, "ending_column": 2}}, "signature": "setRewardTokenConfig(address,uint16,uint16,address,uint256,bool)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "RewardTokenConfigUpdated(_tokenAddress,_allowedSlippageBps,_harvestRewardBps,_uniswapV2CompatibleAddr,_liquidationLimit,_doSwapRewardToken)", "source_mapping": {"start": 6859, "length": 231, "filename_relative": "contracts/harvest/BaseHarvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/BaseHarvester.sol", "filename_short": "contracts/harvest/BaseHarvester.sol", "is_dependency": false, "lines": [176, 177, 178, 179, 180, 181, 182, 183], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "setRewardTokenConfig", "source_mapping": {"start": 4741, "length": 2356, "filename_relative": "contracts/harvest/BaseHarvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/BaseHarvester.sol", "filename_short": "contracts/harvest/BaseHarvester.sol", "is_dependency": false, "lines": [118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseHarvester", "source_mapping": {"start": 733, "length": 12493, "filename_relative": "contracts/harvest/BaseHarvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/BaseHarvester.sol", "filename_short": "contracts/harvest/BaseHarvester.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358], "starting_column": 1, "ending_column": 2}}, "signature": "setRewardTokenConfig(address,uint16,uint16,address,uint256,bool)"}}}, "additional_fields": {"underlying_type": "event"}}], "description": "Reentrancy in BaseHarvester.setRewardTokenConfig(address,uint16,uint16,address,uint256,bool) (contracts/harvest/BaseHarvester.sol#118-184):\n\tExternal calls:\n\t- token.safeApprove(oldUniswapAddress,0) (contracts/harvest/BaseHarvester.sol#167)\n\t- token.safeApprove(_uniswapV2CompatibleAddr,0) (contracts/harvest/BaseHarvester.sol#172)\n\t- token.safeApprove(_uniswapV2CompatibleAddr,type()(uint256).max) (contracts/harvest/BaseHarvester.sol#173)\n\tEvent emitted after the call(s):\n\t- RewardTokenConfigUpdated(_tokenAddress,_allowedSlippageBps,_harvestRewardBps,_uniswapV2CompatibleAddr,_liquidationLimit,_doSwapRewardToken) (contracts/harvest/BaseHarvester.sol#176-183)\n", "markdown": "Reentrancy in [BaseHarvester.setRewardTokenConfig(address,uint16,uint16,address,uint256,bool)](contracts/harvest/BaseHarvester.sol#L118-L184):\n\tExternal calls:\n\t- [token.safeApprove(oldUniswapAddress,0)](contracts/harvest/BaseHarvester.sol#L167)\n\t- [token.safeApprove(_uniswapV2CompatibleAddr,0)](contracts/harvest/BaseHarvester.sol#L172)\n\t- [token.safeApprove(_uniswapV2CompatibleAddr,type()(uint256).max)](contracts/harvest/BaseHarvester.sol#L173)\n\tEvent emitted after the call(s):\n\t- [RewardTokenConfigUpdated(_tokenAddress,_allowedSlippageBps,_harvestRewardBps,_uniswapV2CompatibleAddr,_liquidationLimit,_doSwapRewardToken)](contracts/harvest/BaseHarvester.sol#L176-L183)\n", "first_markdown_element": "contracts/harvest/BaseHarvester.sol#L118-L184", "id": "1addc0ad3b34523f06718a759fb43f9c711cbed42dbfc4d5adf831c789b7d879", "check": "reentrancy-events", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "start", "source_mapping": {"start": 3907, "length": 516, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompensationClaims", "source_mapping": {"start": 1527, "length": 3674, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164], "starting_column": 1, "ending_column": 2}}, "signature": "start(uint256)"}}, {"type": "node", "name": "require(bool,string)(end.sub(block.timestamp) < 31622400,Duration too long)", "source_mapping": {"start": 4299, "length": 65, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [132], "starting_column": 9, "ending_column": 74}, "type_specific_fields": {"parent": {"type": "function", "name": "start", "source_mapping": {"start": 3907, "length": 516, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompensationClaims", "source_mapping": {"start": 1527, "length": 3674, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164], "starting_column": 1, "ending_column": 2}}, "signature": "start(uint256)"}}}}], "description": "CompensationClaims.start(uint256) (contracts/compensation/CompensationClaims.sol#121-134) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- require(bool,string)(end.sub(block.timestamp) < 31622400,Duration too long) (contracts/compensation/CompensationClaims.sol#132)\n", "markdown": "[CompensationClaims.start(uint256)](contracts/compensation/CompensationClaims.sol#L121-L134) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [require(bool,string)(end.sub(block.timestamp) < 31622400,Duration too long)](contracts/compensation/CompensationClaims.sol#L132)\n", "first_markdown_element": "contracts/compensation/CompensationClaims.sol#L121-L134", "id": "5b83f20884fa1991b55d37925295030066000baf57de0a1307c028e532d54c3f", "check": "timestamp", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "queue", "source_mapping": {"start": 3911, "length": 646, "filename_relative": "contracts/governance/Governor.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/Governor.sol", "filename_short": "contracts/governance/Governor.sol", "is_dependency": false, "lines": [119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Governor", "source_mapping": {"start": 250, "length": 7671, "filename_relative": "contracts/governance/Governor.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/Governor.sol", "filename_short": "contracts/governance/Governor.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242], "starting_column": 1, "ending_column": 2}}, "signature": "queue(uint256)"}}, {"type": "node", "name": "i < proposal.targets.length", "source_mapping": {"start": 4261, "length": 27, "filename_relative": "contracts/governance/Governor.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/Governor.sol", "filename_short": "contracts/governance/Governor.sol", "is_dependency": false, "lines": [127], "starting_column": 29, "ending_column": 56}, "type_specific_fields": {"parent": {"type": "function", "name": "queue", "source_mapping": {"start": 3911, "length": 646, "filename_relative": "contracts/governance/Governor.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/Governor.sol", "filename_short": "contracts/governance/Governor.sol", "is_dependency": false, "lines": [119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Governor", "source_mapping": {"start": 250, "length": 7671, "filename_relative": "contracts/governance/Governor.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/Governor.sol", "filename_short": "contracts/governance/Governor.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242], "starting_column": 1, "ending_column": 2}}, "signature": "queue(uint256)"}}}}], "description": "Governor.queue(uint256) (contracts/governance/Governor.sol#119-137) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- i < proposal.targets.length (contracts/governance/Governor.sol#127)\n", "markdown": "[Governor.queue(uint256)](contracts/governance/Governor.sol#L119-L137) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [i < proposal.targets.length](contracts/governance/Governor.sol#L127)\n", "first_markdown_element": "contracts/governance/Governor.sol#L119-L137", "id": "2137c873a1058c23a3448bfb16167ca09007c41476b7d4e0a7135f230841d5c1", "check": "timestamp", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "state", "source_mapping": {"start": 4695, "length": 612, "filename_relative": "contracts/governance/Governor.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/Governor.sol", "filename_short": "contracts/governance/Governor.sol", "is_dependency": false, "lines": [144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Governor", "source_mapping": {"start": 250, "length": 7671, "filename_relative": "contracts/governance/Governor.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/Governor.sol", "filename_short": "contracts/governance/Governor.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242], "starting_column": 1, "ending_column": 2}}, "signature": "state(uint256)"}}, {"type": "node", "name": "block.timestamp >= proposal.eta + GRACE_PERIOD", "source_mapping": {"start": 5142, "length": 46, "filename_relative": "contracts/governance/Governor.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/Governor.sol", "filename_short": "contracts/governance/Governor.sol", "is_dependency": false, "lines": [154], "starting_column": 20, "ending_column": 66}, "type_specific_fields": {"parent": {"type": "function", "name": "state", "source_mapping": {"start": 4695, "length": 612, "filename_relative": "contracts/governance/Governor.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/Governor.sol", "filename_short": "contracts/governance/Governor.sol", "is_dependency": false, "lines": [144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Governor", "source_mapping": {"start": 250, "length": 7671, "filename_relative": "contracts/governance/Governor.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/Governor.sol", "filename_short": "contracts/governance/Governor.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242], "starting_column": 1, "ending_column": 2}}, "signature": "state(uint256)"}}}}], "description": "Governor.state(uint256) (contracts/governance/Governor.sol#144-159) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- block.timestamp >= proposal.eta + GRACE_PERIOD (contracts/governance/Governor.sol#154)\n", "markdown": "[Governor.state(uint256)](contracts/governance/Governor.sol#L144-L159) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [block.timestamp >= proposal.eta + GRACE_PERIOD](contracts/governance/Governor.sol#L154)\n", "first_markdown_element": "contracts/governance/Governor.sol#L144-L159", "id": "02c27e1e97be65704f49a4c9ee7cf04c73c7b44901ce4d2fabcf018337a201a9", "check": "timestamp", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_queueOrRevert", "source_mapping": {"start": 5313, "length": 560, "filename_relative": "contracts/governance/Governor.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/Governor.sol", "filename_short": "contracts/governance/Governor.sol", "is_dependency": false, "lines": [161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Governor", "source_mapping": {"start": 250, "length": 7671, "filename_relative": "contracts/governance/Governor.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/Governor.sol", "filename_short": "contracts/governance/Governor.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242], "starting_column": 1, "ending_column": 2}}, "signature": "_queueOrRevert(address,string,bytes,uint256)"}}, {"type": "node", "name": "require(bool,string)(! queuedTransactions[keccak256(bytes)(abi.encode(target,signature,keccak256(bytes)(data),eta))],Governor::_queueOrRevert: proposal action already queued at eta)", "source_mapping": {"start": 5467, "length": 223, "filename_relative": "contracts/governance/Governor.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/Governor.sol", "filename_short": "contracts/governance/Governor.sol", "is_dependency": false, "lines": [167, 168, 169, 170, 171, 172], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "_queueOrRevert", "source_mapping": {"start": 5313, "length": 560, "filename_relative": "contracts/governance/Governor.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/Governor.sol", "filename_short": "contracts/governance/Governor.sol", "is_dependency": false, "lines": [161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Governor", "source_mapping": {"start": 250, "length": 7671, "filename_relative": "contracts/governance/Governor.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/Governor.sol", "filename_short": "contracts/governance/Governor.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242], "starting_column": 1, "ending_column": 2}}, "signature": "_queueOrRevert(address,string,bytes,uint256)"}}}}, {"type": "node", "name": "require(bool,string)(queuedTransactions[queueTransaction(target,signature,data,eta)],Governor::_queueOrRevert: failed to queue transaction)", "source_mapping": {"start": 5700, "length": 166, "filename_relative": "contracts/governance/Governor.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/Governor.sol", "filename_short": "contracts/governance/Governor.sol", "is_dependency": false, "lines": [173, 174, 175, 176], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "_queueOrRevert", "source_mapping": {"start": 5313, "length": 560, "filename_relative": "contracts/governance/Governor.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/Governor.sol", "filename_short": "contracts/governance/Governor.sol", "is_dependency": false, "lines": [161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Governor", "source_mapping": {"start": 250, "length": 7671, "filename_relative": "contracts/governance/Governor.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/Governor.sol", "filename_short": "contracts/governance/Governor.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242], "starting_column": 1, "ending_column": 2}}, "signature": "_queueOrRevert(address,string,bytes,uint256)"}}}}], "description": "Governor._queueOrRevert(address,string,bytes,uint256) (contracts/governance/Governor.sol#161-177) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- require(bool,string)(! queuedTransactions[keccak256(bytes)(abi.encode(target,signature,keccak256(bytes)(data),eta))],Governor::_queueOrRevert: proposal action already queued at eta) (contracts/governance/Governor.sol#167-172)\n\t- require(bool,string)(queuedTransactions[queueTransaction(target,signature,data,eta)],Governor::_queueOrRevert: failed to queue transaction) (contracts/governance/Governor.sol#173-176)\n", "markdown": "[Governor._queueOrRevert(address,string,bytes,uint256)](contracts/governance/Governor.sol#L161-L177) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [require(bool,string)(! queuedTransactions[keccak256(bytes)(abi.encode(target,signature,keccak256(bytes)(data),eta))],Governor::_queueOrRevert: proposal action already queued at eta)](contracts/governance/Governor.sol#L167-L172)\n\t- [require(bool,string)(queuedTransactions[queueTransaction(target,signature,data,eta)],Governor::_queueOrRevert: failed to queue transaction)](contracts/governance/Governor.sol#L173-L176)\n", "first_markdown_element": "contracts/governance/Governor.sol#L161-L177", "id": "159af0fa773affdc68c334f0f8355bad7352607d78acf09065353c8844023a95", "check": "timestamp", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_availableFunds", "source_mapping": {"start": 4737, "length": 304, "filename_relative": "contracts/harvest/Dripper.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/Dripper.sol", "filename_short": "contracts/harvest/Dripper.sol", "is_dependency": false, "lines": [110, 111, 112, 113, 114, 115, 116, 117, 118], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Dripper", "source_mapping": {"start": 2392, "length": 3342, "filename_relative": "contracts/harvest/Dripper.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/Dripper.sol", "filename_short": "contracts/harvest/Dripper.sol", "is_dependency": false, "lines": [47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136], "starting_column": 1, "ending_column": 2}}, "signature": "_availableFunds(uint256,Dripper.Drip)"}}, {"type": "node", "name": "(allowed > _balance)", "source_mapping": {"start": 4986, "length": 48, "filename_relative": "contracts/harvest/Dripper.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/Dripper.sol", "filename_short": "contracts/harvest/Dripper.sol", "is_dependency": false, "lines": [117], "starting_column": 9, "ending_column": 57}, "type_specific_fields": {"parent": {"type": "function", "name": "_availableFunds", "source_mapping": {"start": 4737, "length": 304, "filename_relative": "contracts/harvest/Dripper.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/Dripper.sol", "filename_short": "contracts/harvest/Dripper.sol", "is_dependency": false, "lines": [110, 111, 112, 113, 114, 115, 116, 117, 118], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Dripper", "source_mapping": {"start": 2392, "length": 3342, "filename_relative": "contracts/harvest/Dripper.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/Dripper.sol", "filename_short": "contracts/harvest/Dripper.sol", "is_dependency": false, "lines": [47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136], "starting_column": 1, "ending_column": 2}}, "signature": "_availableFunds(uint256,Dripper.Drip)"}}}}], "description": "Dripper._availableFunds(uint256,Dripper.Drip) (contracts/harvest/Dripper.sol#110-118) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- (allowed > _balance) (contracts/harvest/Dripper.sol#117)\n", "markdown": "[Dripper._availableFunds(uint256,Dripper.Drip)](contracts/harvest/Dripper.sol#L110-L118) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [(allowed > _balance)](contracts/harvest/Dripper.sol#L117)\n", "first_markdown_element": "contracts/harvest/Dripper.sol#L110-L118", "id": "ee8294628e5c36230161b9540cd72381b59c95738c1890babedb966bb74a654f", "check": "timestamp", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "price", "source_mapping": {"start": 1593, "length": 894, "filename_relative": "contracts/oracle/OracleRouter.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/oracle/OracleRouter.sol", "filename_short": "contracts/oracle/OracleRouter.sol", "is_dependency": false, "lines": [41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OracleRouterBase", "source_mapping": {"start": 429, "length": 3340, "filename_relative": "contracts/oracle/OracleRouter.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/oracle/OracleRouter.sol", "filename_short": "contracts/oracle/OracleRouter.sol", "is_dependency": false, "lines": [11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100], "starting_column": 1, "ending_column": 2}}, "signature": "price(address)"}}, {"type": "node", "name": "require(bool,string)(updatedAt + maxStaleness >= block.timestamp,Oracle price too old)", "source_mapping": {"start": 2045, "length": 110, "filename_relative": "contracts/oracle/OracleRouter.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/oracle/OracleRouter.sol", "filename_short": "contracts/oracle/OracleRouter.sol", "is_dependency": false, "lines": [55, 56, 57, 58], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "price", "source_mapping": {"start": 1593, "length": 894, "filename_relative": "contracts/oracle/OracleRouter.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/oracle/OracleRouter.sol", "filename_short": "contracts/oracle/OracleRouter.sol", "is_dependency": false, "lines": [41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OracleRouterBase", "source_mapping": {"start": 429, "length": 3340, "filename_relative": "contracts/oracle/OracleRouter.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/oracle/OracleRouter.sol", "filename_short": "contracts/oracle/OracleRouter.sol", "is_dependency": false, "lines": [11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100], "starting_column": 1, "ending_column": 2}}, "signature": "price(address)"}}}}], "description": "OracleRouterBase.price(address) (contracts/oracle/OracleRouter.sol#41-68) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- require(bool,string)(updatedAt + maxStaleness >= block.timestamp,Oracle price too old) (contracts/oracle/OracleRouter.sol#55-58)\n", "markdown": "[OracleRouterBase.price(address)](contracts/oracle/OracleRouter.sol#L41-L68) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [require(bool,string)(updatedAt + maxStaleness >= block.timestamp,Oracle price too old)](contracts/oracle/OracleRouter.sol#L55-L58)\n", "first_markdown_element": "contracts/oracle/OracleRouter.sol#L41-L68", "id": "941a9e46c1d422f073ef9bad8d9ae199e53ef7b4495bb290067fcc5073512256", "check": "timestamp", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "price", "source_mapping": {"start": 7130, "length": 700, "filename_relative": "contracts/oracle/OracleRouter.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/oracle/OracleRouter.sol", "filename_short": "contracts/oracle/OracleRouter.sol", "is_dependency": false, "lines": [172, 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": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OETHOracleRouter", "source_mapping": {"start": 6730, "length": 3600, "filename_relative": "contracts/oracle/OracleRouter.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/oracle/OracleRouter.sol", "filename_short": "contracts/oracle/OracleRouter.sol", "is_dependency": false, "lines": [162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249], "starting_column": 1, "ending_column": 2}}, "signature": "price(address)"}}, {"type": "node", "name": "require(bool,string)(updatedAt + maxStaleness >= block.timestamp,Oracle price too old)", "source_mapping": {"start": 7579, "length": 110, "filename_relative": "contracts/oracle/OracleRouter.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/oracle/OracleRouter.sol", "filename_short": "contracts/oracle/OracleRouter.sol", "is_dependency": false, "lines": [188, 189, 190, 191], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "price", "source_mapping": {"start": 7130, "length": 700, "filename_relative": "contracts/oracle/OracleRouter.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/oracle/OracleRouter.sol", "filename_short": "contracts/oracle/OracleRouter.sol", "is_dependency": false, "lines": [172, 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": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OETHOracleRouter", "source_mapping": {"start": 6730, "length": 3600, "filename_relative": "contracts/oracle/OracleRouter.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/oracle/OracleRouter.sol", "filename_short": "contracts/oracle/OracleRouter.sol", "is_dependency": false, "lines": [162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249], "starting_column": 1, "ending_column": 2}}, "signature": "price(address)"}}}}], "description": "OETHOracleRouter.price(address) (contracts/oracle/OracleRouter.sol#172-196) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- require(bool,string)(updatedAt + maxStaleness >= block.timestamp,Oracle price too old) (contracts/oracle/OracleRouter.sol#188-191)\n", "markdown": "[OETHOracleRouter.price(address)](contracts/oracle/OracleRouter.sol#L172-L196) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [require(bool,string)(updatedAt + maxStaleness >= block.timestamp,Oracle price too old)](contracts/oracle/OracleRouter.sol#L188-L191)\n", "first_markdown_element": "contracts/oracle/OracleRouter.sol#L172-L196", "id": "30ac3b1240598ae650be71ab351ccb26d9c1933d8b3309eb6b91d9d764e4d2a6", "check": "timestamp", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_stake", "source_mapping": {"start": 4959, "length": 1129, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SingleAssetStaking", "source_mapping": {"start": 466, "length": 18304, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562], "starting_column": 1, "ending_column": 2}}, "signature": "_stake(address,uint8,uint256,uint240,uint256)"}}, {"type": "node", "name": "i != 0 && stakes[i - 1].end > end", "source_mapping": {"start": 5571, "length": 33, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [176], "starting_column": 16, "ending_column": 49}, "type_specific_fields": {"parent": {"type": "function", "name": "_stake", "source_mapping": {"start": 4959, "length": 1129, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SingleAssetStaking", "source_mapping": {"start": 466, "length": 18304, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562], "starting_column": 1, "ending_column": 2}}, "signature": "_stake(address,uint8,uint256,uint240,uint256)"}}}}], "description": "SingleAssetStaking._stake(address,uint8,uint256,uint240,uint256) (contracts/staking/SingleAssetStaking.sol#156-193) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- i != 0 && stakes[i - 1].end > end (contracts/staking/SingleAssetStaking.sol#176)\n", "markdown": "[SingleAssetStaking._stake(address,uint8,uint256,uint240,uint256)](contracts/staking/SingleAssetStaking.sol#L156-L193) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [i != 0 && stakes[i - 1].end > end](contracts/staking/SingleAssetStaking.sol#L176)\n", "first_markdown_element": "contracts/staking/SingleAssetStaking.sol#L156-L193", "id": "59e4d25ecbf272e2b8350c804aa707d9ab173f2564910d304dbc5dc06ede09d1", "check": "timestamp", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "totalCurrentHoldings", "source_mapping": {"start": 9089, "length": 978, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SingleAssetStaking", "source_mapping": {"start": 466, "length": 18304, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562], "starting_column": 1, "ending_column": 2}}, "signature": "totalCurrentHoldings(address)"}}, {"type": "node", "name": "stake.end < block.timestamp", "source_mapping": {"start": 9437, "length": 27, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [310], "starting_column": 24, "ending_column": 51}, "type_specific_fields": {"parent": {"type": "function", "name": "totalCurrentHoldings", "source_mapping": {"start": 9089, "length": 978, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SingleAssetStaking", "source_mapping": {"start": 466, "length": 18304, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562], "starting_column": 1, "ending_column": 2}}, "signature": "totalCurrentHoldings(address)"}}}}], "description": "SingleAssetStaking.totalCurrentHoldings(address) (contracts/staking/SingleAssetStaking.sol#299-326) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- stake.end < block.timestamp (contracts/staking/SingleAssetStaking.sol#310)\n", "markdown": "[SingleAssetStaking.totalCurrentHoldings(address)](contracts/staking/SingleAssetStaking.sol#L299-L326) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [stake.end < block.timestamp](contracts/staking/SingleAssetStaking.sol#L310)\n", "first_markdown_element": "contracts/staking/SingleAssetStaking.sol#L299-L326", "id": "c9a2fccc6d9527ba7a74dff7691406e71d75688e9ec33d21820b86f65c7266f8", "check": "timestamp", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "exit", "source_mapping": {"start": 13747, "length": 1130, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [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], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SingleAssetStaking", "source_mapping": {"start": 466, "length": 18304, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562], "starting_column": 1, "ending_column": 2}}, "signature": "exit()"}}, {"type": "node", "name": "exitStake.end < block.timestamp && exitStake.paid", "source_mapping": {"start": 14159, "length": 49, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [434], "starting_column": 17, "ending_column": 66}, "type_specific_fields": {"parent": {"type": "function", "name": "exit", "source_mapping": {"start": 13747, "length": 1130, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [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], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SingleAssetStaking", "source_mapping": {"start": 466, "length": 18304, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562], "starting_column": 1, "ending_column": 2}}, "signature": "exit()"}}}}, {"type": "node", "name": "exitStake.end < block.timestamp", "source_mapping": {"start": 14298, "length": 31, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [438], "starting_column": 17, "ending_column": 48}, "type_specific_fields": {"parent": {"type": "function", "name": "exit", "source_mapping": {"start": 13747, "length": 1130, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [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], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SingleAssetStaking", "source_mapping": {"start": 466, "length": 18304, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562], "starting_column": 1, "ending_column": 2}}, "signature": "exit()"}}}}], "description": "SingleAssetStaking.exit() (contracts/staking/SingleAssetStaking.sol#424-451) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- exitStake.end < block.timestamp && exitStake.paid (contracts/staking/SingleAssetStaking.sol#434)\n\t- exitStake.end < block.timestamp (contracts/staking/SingleAssetStaking.sol#438)\n", "markdown": "[SingleAssetStaking.exit()](contracts/staking/SingleAssetStaking.sol#L424-L451) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [exitStake.end < block.timestamp && exitStake.paid](contracts/staking/SingleAssetStaking.sol#L434)\n\t- [exitStake.end < block.timestamp](contracts/staking/SingleAssetStaking.sol#L438)\n", "first_markdown_element": "contracts/staking/SingleAssetStaking.sol#L424-L451", "id": "11fe90ed1f7cd460fa16d14548bab47d68ca0f160277bec99bde6f60e254a9ce", "check": "timestamp", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "collectRewardTokens", "source_mapping": {"start": 8208, "length": 2725, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.sol", "is_dependency": false, "lines": [235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AaveStrategy", "source_mapping": {"start": 536, "length": 10399, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305], "starting_column": 1, "ending_column": 2}}, "signature": "collectRewardTokens()"}}, {"type": "node", "name": "block.timestamp > windowStart && block.timestamp <= windowEnd", "source_mapping": {"start": 8774, "length": 61, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.sol", "is_dependency": false, "lines": [252], "starting_column": 13, "ending_column": 74}, "type_specific_fields": {"parent": {"type": "function", "name": "collectRewardTokens", "source_mapping": {"start": 8208, "length": 2725, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.sol", "is_dependency": false, "lines": [235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AaveStrategy", "source_mapping": {"start": 536, "length": 10399, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305], "starting_column": 1, "ending_column": 2}}, "signature": "collectRewardTokens()"}}}}, {"type": "node", "name": "block.timestamp > windowStart || cooldown == 0", "source_mapping": {"start": 9508, "length": 46, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.sol", "is_dependency": false, "lines": [271], "starting_column": 13, "ending_column": 59}, "type_specific_fields": {"parent": {"type": "function", "name": "collectRewardTokens", "source_mapping": {"start": 8208, "length": 2725, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.sol", "is_dependency": false, "lines": [235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AaveStrategy", "source_mapping": {"start": 536, "length": 10399, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305], "starting_column": 1, "ending_column": 2}}, "signature": "collectRewardTokens()"}}}}], "description": "AaveStrategy.collectRewardTokens() (contracts/strategies/AaveStrategy.sol#235-304) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- block.timestamp > windowStart && block.timestamp <= windowEnd (contracts/strategies/AaveStrategy.sol#252)\n\t- block.timestamp > windowStart || cooldown == 0 (contracts/strategies/AaveStrategy.sol#271)\n", "markdown": "[AaveStrategy.collectRewardTokens()](contracts/strategies/AaveStrategy.sol#L235-L304) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [block.timestamp > windowStart && block.timestamp <= windowEnd](contracts/strategies/AaveStrategy.sol#L252)\n\t- [block.timestamp > windowStart || cooldown == 0](contracts/strategies/AaveStrategy.sol#L271)\n", "first_markdown_element": "contracts/strategies/AaveStrategy.sol#L235-L304", "id": "968fabc80c58dd0ce3e948c18f9b2c9c05b6b05906a7348f16dff07c08fcff06", "check": "timestamp", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "checkDelta", "source_mapping": {"start": 1159, "length": 1203, "filename_relative": "contracts/strategies/VaultValueChecker.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/VaultValueChecker.sol", "filename_short": "contracts/strategies/VaultValueChecker.sol", "is_dependency": false, "lines": [39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultValueChecker", "source_mapping": {"start": 158, "length": 2590, "filename_relative": "contracts/strategies/VaultValueChecker.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/VaultValueChecker.sol", "filename_short": "contracts/strategies/VaultValueChecker.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, 79], "starting_column": 1, "ending_column": 2}}, "signature": "checkDelta(int256,int256,int256,int256)"}}, {"type": "node", "name": "require(bool,string)(snapshot.time >= block.timestamp - SNAPSHOT_EXPIRES,Snapshot too old)", "source_mapping": {"start": 1734, "length": 114, "filename_relative": "contracts/strategies/VaultValueChecker.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/VaultValueChecker.sol", "filename_short": "contracts/strategies/VaultValueChecker.sol", "is_dependency": false, "lines": [53, 54, 55, 56], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "checkDelta", "source_mapping": {"start": 1159, "length": 1203, "filename_relative": "contracts/strategies/VaultValueChecker.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/VaultValueChecker.sol", "filename_short": "contracts/strategies/VaultValueChecker.sol", "is_dependency": false, "lines": [39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultValueChecker", "source_mapping": {"start": 158, "length": 2590, "filename_relative": "contracts/strategies/VaultValueChecker.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/VaultValueChecker.sol", "filename_short": "contracts/strategies/VaultValueChecker.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, 79], "starting_column": 1, "ending_column": 2}}, "signature": "checkDelta(int256,int256,int256,int256)"}}}}, {"type": "node", "name": "require(bool,string)(snapshot.time <= block.timestamp,Snapshot too new)", "source_mapping": {"start": 1858, "length": 61, "filename_relative": "contracts/strategies/VaultValueChecker.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/VaultValueChecker.sol", "filename_short": "contracts/strategies/VaultValueChecker.sol", "is_dependency": false, "lines": [57], "starting_column": 9, "ending_column": 70}, "type_specific_fields": {"parent": {"type": "function", "name": "checkDelta", "source_mapping": {"start": 1159, "length": 1203, "filename_relative": "contracts/strategies/VaultValueChecker.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/VaultValueChecker.sol", "filename_short": "contracts/strategies/VaultValueChecker.sol", "is_dependency": false, "lines": [39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultValueChecker", "source_mapping": {"start": 158, "length": 2590, "filename_relative": "contracts/strategies/VaultValueChecker.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/VaultValueChecker.sol", "filename_short": "contracts/strategies/VaultValueChecker.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, 79], "starting_column": 1, "ending_column": 2}}, "signature": "checkDelta(int256,int256,int256,int256)"}}}}, {"type": "node", "name": "require(bool,string)(profit >= expectedProfit - profitVariance,Profit too low)", "source_mapping": {"start": 1929, "length": 68, "filename_relative": "contracts/strategies/VaultValueChecker.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/VaultValueChecker.sol", "filename_short": "contracts/strategies/VaultValueChecker.sol", "is_dependency": false, "lines": [58], "starting_column": 9, "ending_column": 77}, "type_specific_fields": {"parent": {"type": "function", "name": "checkDelta", "source_mapping": {"start": 1159, "length": 1203, "filename_relative": "contracts/strategies/VaultValueChecker.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/VaultValueChecker.sol", "filename_short": "contracts/strategies/VaultValueChecker.sol", "is_dependency": false, "lines": [39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultValueChecker", "source_mapping": {"start": 158, "length": 2590, "filename_relative": "contracts/strategies/VaultValueChecker.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/VaultValueChecker.sol", "filename_short": "contracts/strategies/VaultValueChecker.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, 79], "starting_column": 1, "ending_column": 2}}, "signature": "checkDelta(int256,int256,int256,int256)"}}}}, {"type": "node", "name": "require(bool,string)(profit <= expectedProfit + profitVariance,Profit too high)", "source_mapping": {"start": 2007, "length": 69, "filename_relative": "contracts/strategies/VaultValueChecker.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/VaultValueChecker.sol", "filename_short": "contracts/strategies/VaultValueChecker.sol", "is_dependency": false, "lines": [59], "starting_column": 9, "ending_column": 78}, "type_specific_fields": {"parent": {"type": "function", "name": "checkDelta", "source_mapping": {"start": 1159, "length": 1203, "filename_relative": "contracts/strategies/VaultValueChecker.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/VaultValueChecker.sol", "filename_short": "contracts/strategies/VaultValueChecker.sol", "is_dependency": false, "lines": [39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultValueChecker", "source_mapping": {"start": 158, "length": 2590, "filename_relative": "contracts/strategies/VaultValueChecker.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/VaultValueChecker.sol", "filename_short": "contracts/strategies/VaultValueChecker.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, 79], "starting_column": 1, "ending_column": 2}}, "signature": "checkDelta(int256,int256,int256,int256)"}}}}, {"type": "node", "name": "require(bool,string)(vaultChange >= expectedVaultChange - vaultChangeVariance,Vault value change too low)", "source_mapping": {"start": 2086, "length": 129, "filename_relative": "contracts/strategies/VaultValueChecker.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/VaultValueChecker.sol", "filename_short": "contracts/strategies/VaultValueChecker.sol", "is_dependency": false, "lines": [60, 61, 62, 63], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "checkDelta", "source_mapping": {"start": 1159, "length": 1203, "filename_relative": "contracts/strategies/VaultValueChecker.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/VaultValueChecker.sol", "filename_short": "contracts/strategies/VaultValueChecker.sol", "is_dependency": false, "lines": [39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultValueChecker", "source_mapping": {"start": 158, "length": 2590, "filename_relative": "contracts/strategies/VaultValueChecker.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/VaultValueChecker.sol", "filename_short": "contracts/strategies/VaultValueChecker.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, 79], "starting_column": 1, "ending_column": 2}}, "signature": "checkDelta(int256,int256,int256,int256)"}}}}, {"type": "node", "name": "require(bool,string)(vaultChange <= expectedVaultChange + vaultChangeVariance,Vault value change too high)", "source_mapping": {"start": 2225, "length": 130, "filename_relative": "contracts/strategies/VaultValueChecker.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/VaultValueChecker.sol", "filename_short": "contracts/strategies/VaultValueChecker.sol", "is_dependency": false, "lines": [64, 65, 66, 67], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "checkDelta", "source_mapping": {"start": 1159, "length": 1203, "filename_relative": "contracts/strategies/VaultValueChecker.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/VaultValueChecker.sol", "filename_short": "contracts/strategies/VaultValueChecker.sol", "is_dependency": false, "lines": [39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultValueChecker", "source_mapping": {"start": 158, "length": 2590, "filename_relative": "contracts/strategies/VaultValueChecker.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/VaultValueChecker.sol", "filename_short": "contracts/strategies/VaultValueChecker.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, 79], "starting_column": 1, "ending_column": 2}}, "signature": "checkDelta(int256,int256,int256,int256)"}}}}], "description": "VaultValueChecker.checkDelta(int256,int256,int256,int256) (contracts/strategies/VaultValueChecker.sol#39-68) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- require(bool,string)(snapshot.time >= block.timestamp - SNAPSHOT_EXPIRES,Snapshot too old) (contracts/strategies/VaultValueChecker.sol#53-56)\n\t- require(bool,string)(snapshot.time <= block.timestamp,Snapshot too new) (contracts/strategies/VaultValueChecker.sol#57)\n\t- require(bool,string)(profit >= expectedProfit - profitVariance,Profit too low) (contracts/strategies/VaultValueChecker.sol#58)\n\t- require(bool,string)(profit <= expectedProfit + profitVariance,Profit too high) (contracts/strategies/VaultValueChecker.sol#59)\n\t- require(bool,string)(vaultChange >= expectedVaultChange - vaultChangeVariance,Vault value change too low) (contracts/strategies/VaultValueChecker.sol#60-63)\n\t- require(bool,string)(vaultChange <= expectedVaultChange + vaultChangeVariance,Vault value change too high) (contracts/strategies/VaultValueChecker.sol#64-67)\n", "markdown": "[VaultValueChecker.checkDelta(int256,int256,int256,int256)](contracts/strategies/VaultValueChecker.sol#L39-L68) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [require(bool,string)(snapshot.time >= block.timestamp - SNAPSHOT_EXPIRES,Snapshot too old)](contracts/strategies/VaultValueChecker.sol#L53-L56)\n\t- [require(bool,string)(snapshot.time <= block.timestamp,Snapshot too new)](contracts/strategies/VaultValueChecker.sol#L57)\n\t- [require(bool,string)(profit >= expectedProfit - profitVariance,Profit too low)](contracts/strategies/VaultValueChecker.sol#L58)\n\t- [require(bool,string)(profit <= expectedProfit + profitVariance,Profit too high)](contracts/strategies/VaultValueChecker.sol#L59)\n\t- [require(bool,string)(vaultChange >= expectedVaultChange - vaultChangeVariance,Vault value change too low)](contracts/strategies/VaultValueChecker.sol#L60-L63)\n\t- [require(bool,string)(vaultChange <= expectedVaultChange + vaultChangeVariance,Vault value change too high)](contracts/strategies/VaultValueChecker.sol#L64-L67)\n", "first_markdown_element": "contracts/strategies/VaultValueChecker.sol#L39-L68", "id": "d3613301885a93d6dbc73b145454faf816e3cdaa258c9a2a2f6768e2e79525b3", "check": "timestamp", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "toInt256", "source_mapping": {"start": 2368, "length": 378, "filename_relative": "contracts/strategies/VaultValueChecker.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/VaultValueChecker.sol", "filename_short": "contracts/strategies/VaultValueChecker.sol", "is_dependency": false, "lines": [70, 71, 72, 73, 74, 75, 76, 77, 78], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultValueChecker", "source_mapping": {"start": 158, "length": 2590, "filename_relative": "contracts/strategies/VaultValueChecker.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/VaultValueChecker.sol", "filename_short": "contracts/strategies/VaultValueChecker.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, 79], "starting_column": 1, "ending_column": 2}}, "signature": "toInt256(uint256)"}}, {"type": "node", "name": "require(bool,string)(value <= uint256(type()(int256).max),SafeCast: value doesn't fit in an int256)", "source_mapping": {"start": 2588, "length": 121, "filename_relative": "contracts/strategies/VaultValueChecker.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/VaultValueChecker.sol", "filename_short": "contracts/strategies/VaultValueChecker.sol", "is_dependency": false, "lines": [73, 74, 75, 76], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "toInt256", "source_mapping": {"start": 2368, "length": 378, "filename_relative": "contracts/strategies/VaultValueChecker.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/VaultValueChecker.sol", "filename_short": "contracts/strategies/VaultValueChecker.sol", "is_dependency": false, "lines": [70, 71, 72, 73, 74, 75, 76, 77, 78], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultValueChecker", "source_mapping": {"start": 158, "length": 2590, "filename_relative": "contracts/strategies/VaultValueChecker.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/VaultValueChecker.sol", "filename_short": "contracts/strategies/VaultValueChecker.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, 79], "starting_column": 1, "ending_column": 2}}, "signature": "toInt256(uint256)"}}}}], "description": "VaultValueChecker.toInt256(uint256) (contracts/strategies/VaultValueChecker.sol#70-78) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- require(bool,string)(value <= uint256(type()(int256).max),SafeCast: value doesn't fit in an int256) (contracts/strategies/VaultValueChecker.sol#73-76)\n", "markdown": "[VaultValueChecker.toInt256(uint256)](contracts/strategies/VaultValueChecker.sol#L70-L78) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [require(bool,string)(value <= uint256(type()(int256).max),SafeCast: value doesn't fit in an int256)](contracts/strategies/VaultValueChecker.sol#L73-L76)\n", "first_markdown_element": "contracts/strategies/VaultValueChecker.sol#L70-L78", "id": "b05b7bbec1cc1e45646561a009903c0b29bb6fa4cd5a499f84d6efc2f6feb6df", "check": "timestamp", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "queueTransaction", "source_mapping": {"start": 2824, "length": 716, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Timelock", "source_mapping": {"start": 298, "length": 6391, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242], "starting_column": 1, "ending_column": 2}}, "signature": "queueTransaction(address,string,bytes,uint256)"}}, {"type": "node", "name": "require(bool,string)(eta >= getBlockTimestamp().add(delay),Timelock::queueTransaction: Estimated execution block must satisfy delay.)", "source_mapping": {"start": 3128, "length": 157, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [121, 122, 123, 124], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "queueTransaction", "source_mapping": {"start": 2824, "length": 716, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Timelock", "source_mapping": {"start": 298, "length": 6391, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242], "starting_column": 1, "ending_column": 2}}, "signature": "queueTransaction(address,string,bytes,uint256)"}}}}], "description": "Timelock.queueTransaction(address,string,bytes,uint256) (contracts/timelock/Timelock.sol#111-133) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- require(bool,string)(eta >= getBlockTimestamp().add(delay),Timelock::queueTransaction: Estimated execution block must satisfy delay.) (contracts/timelock/Timelock.sol#121-124)\n", "markdown": "[Timelock.queueTransaction(address,string,bytes,uint256)](contracts/timelock/Timelock.sol#L111-L133) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [require(bool,string)(eta >= getBlockTimestamp().add(delay),Timelock::queueTransaction: Estimated execution block must satisfy delay.)](contracts/timelock/Timelock.sol#L121-L124)\n", "first_markdown_element": "contracts/timelock/Timelock.sol#L111-L133", "id": "309579e288ce535a8bf683a677db815188f46f43fc503822ebe9e2ca4cfee982", "check": "timestamp", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "executeTransaction", "source_mapping": {"start": 4611, "length": 1434, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Timelock", "source_mapping": {"start": 298, "length": 6391, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242], "starting_column": 1, "ending_column": 2}}, "signature": "executeTransaction(address,string,bytes,uint256)"}}, {"type": "node", "name": "require(bool,string)(getBlockTimestamp() >= eta,Timelock::executeTransaction: Transaction hasn't surpassed time lock.)", "source_mapping": {"start": 5180, "length": 142, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [189, 190, 191, 192], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "executeTransaction", "source_mapping": {"start": 4611, "length": 1434, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Timelock", "source_mapping": {"start": 298, "length": 6391, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242], "starting_column": 1, "ending_column": 2}}, "signature": "executeTransaction(address,string,bytes,uint256)"}}}}, {"type": "node", "name": "require(bool,string)(getBlockTimestamp() <= eta.add(GRACE_PERIOD),Timelock::executeTransaction: Transaction is stale.)", "source_mapping": {"start": 5332, "length": 142, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [193, 194, 195, 196], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "executeTransaction", "source_mapping": {"start": 4611, "length": 1434, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Timelock", "source_mapping": {"start": 298, "length": 6391, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242], "starting_column": 1, "ending_column": 2}}, "signature": "executeTransaction(address,string,bytes,uint256)"}}}}], "description": "Timelock.executeTransaction(address,string,bytes,uint256) (contracts/timelock/Timelock.sol#171-220) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- require(bool,string)(getBlockTimestamp() >= eta,Timelock::executeTransaction: Transaction hasn't surpassed time lock.) (contracts/timelock/Timelock.sol#189-192)\n\t- require(bool,string)(getBlockTimestamp() <= eta.add(GRACE_PERIOD),Timelock::executeTransaction: Transaction is stale.) (contracts/timelock/Timelock.sol#193-196)\n", "markdown": "[Timelock.executeTransaction(address,string,bytes,uint256)](contracts/timelock/Timelock.sol#L171-L220) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [require(bool,string)(getBlockTimestamp() >= eta,Timelock::executeTransaction: Transaction hasn't surpassed time lock.)](contracts/timelock/Timelock.sol#L189-L192)\n\t- [require(bool,string)(getBlockTimestamp() <= eta.add(GRACE_PERIOD),Timelock::executeTransaction: Transaction is stale.)](contracts/timelock/Timelock.sol#L193-L196)\n", "first_markdown_element": "contracts/timelock/Timelock.sol#L171-L220", "id": "79f500fc73009411a220ea534de8c32a392f82c28a4f46665588f7059ee2e1db", "check": "timestamp", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "node", "name": "i < assetsMapped.length", "source_mapping": {"start": 2603, "length": 23, "filename_relative": "contracts/strategies/BaseCurveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/BaseCurveStrategy.sol", "filename_short": "contracts/strategies/BaseCurveStrategy.sol", "is_dependency": false, "lines": [71], "starting_column": 29, "ending_column": 52}, "type_specific_fields": {"parent": {"type": "function", "name": "depositAll", "source_mapping": {"start": 2273, "length": 1730, "filename_relative": "contracts/strategies/BaseCurveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/BaseCurveStrategy.sol", "filename_short": "contracts/strategies/BaseCurveStrategy.sol", "is_dependency": false, "lines": [65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseCurveStrategy", "source_mapping": {"start": 536, "length": 11069, "filename_relative": "contracts/strategies/BaseCurveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/BaseCurveStrategy.sol", "filename_short": "contracts/strategies/BaseCurveStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307], "starting_column": 1, "ending_column": 2}}, "signature": "depositAll()"}}}}], "description": "Loop condition i < assetsMapped.length (contracts/strategies/BaseCurveStrategy.sol#71) should use cached array length instead of referencing `length` member of the storage array.\n ", "markdown": "Loop condition [i < assetsMapped.length](contracts/strategies/BaseCurveStrategy.sol#L71) should use cached array length instead of referencing `length` member of the storage array.\n ", "first_markdown_element": "contracts/strategies/BaseCurveStrategy.sol#L71", "id": "00eb856d9eb41c76fa3893d6391c142ff67834587a7816db3ccfea5f906c7beb", "check": "cache-array-length", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "node", "name": "i < assetsMapped.length", "source_mapping": {"start": 3988, "length": 23, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [108], "starting_column": 29, "ending_column": 52}, "type_specific_fields": {"parent": {"type": "function", "name": "collectRewardTokens", "source_mapping": {"start": 2790, "length": 1954, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MorphoCompoundStrategy", "source_mapping": {"start": 608, "length": 7945, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251], "starting_column": 1, "ending_column": 2}}, "signature": "collectRewardTokens()"}}}}], "description": "Loop condition i < assetsMapped.length (contracts/strategies/MorphoCompoundStrategy.sol#108) should use cached array length instead of referencing `length` member of the storage array.\n ", "markdown": "Loop condition [i < assetsMapped.length](contracts/strategies/MorphoCompoundStrategy.sol#L108) should use cached array length instead of referencing `length` member of the storage array.\n ", "first_markdown_element": "contracts/strategies/MorphoCompoundStrategy.sol#L108", "id": "0f668f7a9fbd8dd8cf5f256a648a89ede585af5a1bfb2890671cb61edeaee985", "check": "cache-array-length", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "node", "name": "i < assetsMapped.length", "source_mapping": {"start": 5019, "length": 23, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [134], "starting_column": 29, "ending_column": 52}, "type_specific_fields": {"parent": {"type": "function", "name": "getPendingRewards", "source_mapping": {"start": 4846, "length": 360, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [132, 133, 134, 135, 136, 137, 138, 139], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MorphoCompoundStrategy", "source_mapping": {"start": 608, "length": 7945, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251], "starting_column": 1, "ending_column": 2}}, "signature": "getPendingRewards()"}}}}], "description": "Loop condition i < assetsMapped.length (contracts/strategies/MorphoCompoundStrategy.sol#134) should use cached array length instead of referencing `length` member of the storage array.\n ", "markdown": "Loop condition [i < assetsMapped.length](contracts/strategies/MorphoCompoundStrategy.sol#L134) should use cached array length instead of referencing `length` member of the storage array.\n ", "first_markdown_element": "contracts/strategies/MorphoCompoundStrategy.sol#L134", "id": "125f9e1a415eb9e7fbdcb8c4e5b48f67d49102127bfb2dd609ed19d450e0621a", "check": "cache-array-length", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "node", "name": "i < durations.length", "source_mapping": {"start": 4163, "length": 20, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [136], "starting_column": 29, "ending_column": 49}, "type_specific_fields": {"parent": {"type": "function", "name": "_findDurationRate", "source_mapping": {"start": 4028, "length": 297, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SingleAssetStaking", "source_mapping": {"start": 466, "length": 18304, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562], "starting_column": 1, "ending_column": 2}}, "signature": "_findDurationRate(uint256)"}}}}], "description": "Loop condition i < durations.length (contracts/staking/SingleAssetStaking.sol#136) should use cached array length instead of referencing `length` member of the storage array.\n ", "markdown": "Loop condition [i < durations.length](contracts/staking/SingleAssetStaking.sol#L136) should use cached array length instead of referencing `length` member of the storage array.\n ", "first_markdown_element": "contracts/staking/SingleAssetStaking.sol#L136", "id": "a5e81880592f41137e823b4f15ded88227b6508181f8767dee55d587fde3d611", "check": "cache-array-length", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "node", "name": "i < assetsMapped.length", "source_mapping": {"start": 9693, "length": 23, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.sol", "is_dependency": false, "lines": [278], "starting_column": 33, "ending_column": 56}, "type_specific_fields": {"parent": {"type": "function", "name": "collectRewardTokens", "source_mapping": {"start": 8178, "length": 2692, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.sol", "is_dependency": false, "lines": [239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AaveStrategy", "source_mapping": {"start": 536, "length": 10336, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308], "starting_column": 1, "ending_column": 2}}, "signature": "collectRewardTokens()"}}}}], "description": "Loop condition i < assetsMapped.length (contracts/strategies/AaveStrategy.sol#278) should use cached array length instead of referencing `length` member of the storage array.\n ", "markdown": "Loop condition [i < assetsMapped.length](contracts/strategies/AaveStrategy.sol#L278) should use cached array length instead of referencing `length` member of the storage array.\n ", "first_markdown_element": "contracts/strategies/AaveStrategy.sol#L278", "id": "e931b38970ae25097f584f7e7dd3e72186cff433764ed75bc1d83a29de89d4d1", "check": "cache-array-length", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "function", "name": "_setUniswapUniversalRouter", "source_mapping": {"start": 3522, "length": 320, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.sol", "is_dependency": false, "lines": [104, 105, 106, 107, 108, 109, 110, 111, 112, 113], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseBuyback", "source_mapping": {"start": 546, "length": 7983, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.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, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267], "starting_column": 1, "ending_column": 2}}, "signature": "_setUniswapUniversalRouter(address)"}}, {"type": "node", "name": "IERC20(oToken).approve(universalRouter,0)", "source_mapping": {"start": 3693, "length": 42, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.sol", "is_dependency": false, "lines": [107], "starting_column": 13, "ending_column": 55}, "type_specific_fields": {"parent": {"type": "function", "name": "_setUniswapUniversalRouter", "source_mapping": {"start": 3522, "length": 320, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.sol", "is_dependency": false, "lines": [104, 105, 106, 107, 108, 109, 110, 111, 112, 113], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseBuyback", "source_mapping": {"start": 546, "length": 7983, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.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, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267], "starting_column": 1, "ending_column": 2}}, "signature": "_setUniswapUniversalRouter(address)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "universalRouter = _router", "source_mapping": {"start": 3756, "length": 25, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.sol", "is_dependency": false, "lines": [110], "starting_column": 9, "ending_column": 34}, "type_specific_fields": {"parent": {"type": "function", "name": "_setUniswapUniversalRouter", "source_mapping": {"start": 3522, "length": 320, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.sol", "is_dependency": false, "lines": [104, 105, 106, 107, 108, 109, 110, 111, 112, 113], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseBuyback", "source_mapping": {"start": 546, "length": 7983, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.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, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267], "starting_column": 1, "ending_column": 2}}, "signature": "_setUniswapUniversalRouter(address)"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "universalRouter"}}], "description": "Reentrancy in BaseBuyback._setUniswapUniversalRouter(address) (contracts/buyback/BaseBuyback.sol#104-113):\n\tExternal calls:\n\t- IERC20(oToken).approve(universalRouter,0) (contracts/buyback/BaseBuyback.sol#107)\n\tState variables written after the call(s):\n\t- universalRouter = _router (contracts/buyback/BaseBuyback.sol#110)\n\tBaseBuyback.universalRouter (contracts/buyback/BaseBuyback.sol#30) can be used in cross function reentrancies:\n\t- BaseBuyback._setUniswapUniversalRouter(address) (contracts/buyback/BaseBuyback.sol#104-113)\n\t- BaseBuyback.universalRouter (contracts/buyback/BaseBuyback.sol#30)\n", "markdown": "Reentrancy in [BaseBuyback._setUniswapUniversalRouter(address)](contracts/buyback/BaseBuyback.sol#L104-L113):\n\tExternal calls:\n\t- [IERC20(oToken).approve(universalRouter,0)](contracts/buyback/BaseBuyback.sol#L107)\n\tState variables written after the call(s):\n\t- [universalRouter = _router](contracts/buyback/BaseBuyback.sol#L110)\n\t[BaseBuyback.universalRouter](contracts/buyback/BaseBuyback.sol#L30) can be used in cross function reentrancies:\n\t- [BaseBuyback._setUniswapUniversalRouter(address)](contracts/buyback/BaseBuyback.sol#L104-L113)\n\t- [BaseBuyback.universalRouter](contracts/buyback/BaseBuyback.sol#L30)\n", "first_markdown_element": "contracts/buyback/BaseBuyback.sol#L104-L113", "id": "bccc9acb8443b22ca1e841ba889cf8442ee7ce0439cfee68a23217bad2ff1e26", "check": "reentrancy-no-eth", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_setUniswapUniversalRouter", "source_mapping": {"start": 3522, "length": 320, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.sol", "is_dependency": false, "lines": [104, 105, 106, 107, 108, 109, 110, 111, 112, 113], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseBuyback", "source_mapping": {"start": 546, "length": 7983, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.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, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267], "starting_column": 1, "ending_column": 2}}, "signature": "_setUniswapUniversalRouter(address)"}}, {"type": "node", "name": "IERC20(oToken).approve(universalRouter,0)", "source_mapping": {"start": 3693, "length": 42, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.sol", "is_dependency": false, "lines": [107], "starting_column": 13, "ending_column": 55}, "type_specific_fields": {"parent": {"type": "function", "name": "_setUniswapUniversalRouter", "source_mapping": {"start": 3522, "length": 320, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.sol", "is_dependency": false, "lines": [104, 105, 106, 107, 108, 109, 110, 111, 112, 113], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseBuyback", "source_mapping": {"start": 546, "length": 7983, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.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, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267], "starting_column": 1, "ending_column": 2}}, "signature": "_setUniswapUniversalRouter(address)"}}}}], "description": "BaseBuyback._setUniswapUniversalRouter(address) (contracts/buyback/BaseBuyback.sol#104-113) ignores return value by IERC20(oToken).approve(universalRouter,0) (contracts/buyback/BaseBuyback.sol#107)\n", "markdown": "[BaseBuyback._setUniswapUniversalRouter(address)](contracts/buyback/BaseBuyback.sol#L104-L113) ignores return value by [IERC20(oToken).approve(universalRouter,0)](contracts/buyback/BaseBuyback.sol#L107)\n", "first_markdown_element": "contracts/buyback/BaseBuyback.sol#L104-L113", "id": "0e6b4f58400d0468104b070528bea337ad354c8f15ffe9d80e1e192744d443fa", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_setUniswapUniversalRouter", "source_mapping": {"start": 3480, "length": 320, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.sol", "is_dependency": false, "lines": [103, 104, 105, 106, 107, 108, 109, 110, 111, 112], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseBuyback", "source_mapping": {"start": 546, "length": 7941, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.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, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266], "starting_column": 1, "ending_column": 2}}, "signature": "_setUniswapUniversalRouter(address)"}}, {"type": "node", "name": "IERC20(oToken).approve(universalRouter,0)", "source_mapping": {"start": 3651, "length": 42, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.sol", "is_dependency": false, "lines": [106], "starting_column": 13, "ending_column": 55}, "type_specific_fields": {"parent": {"type": "function", "name": "_setUniswapUniversalRouter", "source_mapping": {"start": 3480, "length": 320, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.sol", "is_dependency": false, "lines": [103, 104, 105, 106, 107, 108, 109, 110, 111, 112], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseBuyback", "source_mapping": {"start": 546, "length": 7941, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.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, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266], "starting_column": 1, "ending_column": 2}}, "signature": "_setUniswapUniversalRouter(address)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "universalRouter = _router", "source_mapping": {"start": 3714, "length": 25, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.sol", "is_dependency": false, "lines": [109], "starting_column": 9, "ending_column": 34}, "type_specific_fields": {"parent": {"type": "function", "name": "_setUniswapUniversalRouter", "source_mapping": {"start": 3480, "length": 320, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.sol", "is_dependency": false, "lines": [103, 104, 105, 106, 107, 108, 109, 110, 111, 112], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseBuyback", "source_mapping": {"start": 546, "length": 7941, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.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, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266], "starting_column": 1, "ending_column": 2}}, "signature": "_setUniswapUniversalRouter(address)"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "universalRouter"}}], "description": "Reentrancy in BaseBuyback._setUniswapUniversalRouter(address) (contracts/buyback/BaseBuyback.sol#103-112):\n\tExternal calls:\n\t- IERC20(oToken).approve(universalRouter,0) (contracts/buyback/BaseBuyback.sol#106)\n\tState variables written after the call(s):\n\t- universalRouter = _router (contracts/buyback/BaseBuyback.sol#109)\n\tBaseBuyback.universalRouter (contracts/buyback/BaseBuyback.sol#30) can be used in cross function reentrancies:\n\t- BaseBuyback._setUniswapUniversalRouter(address) (contracts/buyback/BaseBuyback.sol#103-112)\n\t- BaseBuyback.universalRouter (contracts/buyback/BaseBuyback.sol#30)\n", "markdown": "Reentrancy in [BaseBuyback._setUniswapUniversalRouter(address)](contracts/buyback/BaseBuyback.sol#L103-L112):\n\tExternal calls:\n\t- [IERC20(oToken).approve(universalRouter,0)](contracts/buyback/BaseBuyback.sol#L106)\n\tState variables written after the call(s):\n\t- [universalRouter = _router](contracts/buyback/BaseBuyback.sol#L109)\n\t[BaseBuyback.universalRouter](contracts/buyback/BaseBuyback.sol#L30) can be used in cross function reentrancies:\n\t- [BaseBuyback._setUniswapUniversalRouter(address)](contracts/buyback/BaseBuyback.sol#L103-L112)\n\t- [BaseBuyback.universalRouter](contracts/buyback/BaseBuyback.sol#L30)\n", "first_markdown_element": "contracts/buyback/BaseBuyback.sol#L103-L112", "id": "4e2c66a5727d9f9cf6215dd14b959bcd5593727f47bde61f3fe06848cac85c35", "check": "reentrancy-no-eth", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_setUniswapUniversalRouter", "source_mapping": {"start": 3480, "length": 320, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.sol", "is_dependency": false, "lines": [103, 104, 105, 106, 107, 108, 109, 110, 111, 112], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseBuyback", "source_mapping": {"start": 546, "length": 7941, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.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, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266], "starting_column": 1, "ending_column": 2}}, "signature": "_setUniswapUniversalRouter(address)"}}, {"type": "node", "name": "IERC20(oToken).approve(universalRouter,0)", "source_mapping": {"start": 3651, "length": 42, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.sol", "is_dependency": false, "lines": [106], "starting_column": 13, "ending_column": 55}, "type_specific_fields": {"parent": {"type": "function", "name": "_setUniswapUniversalRouter", "source_mapping": {"start": 3480, "length": 320, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.sol", "is_dependency": false, "lines": [103, 104, 105, 106, 107, 108, 109, 110, 111, 112], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseBuyback", "source_mapping": {"start": 546, "length": 7941, "filename_relative": "contracts/buyback/BaseBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/BaseBuyback.sol", "filename_short": "contracts/buyback/BaseBuyback.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, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266], "starting_column": 1, "ending_column": 2}}, "signature": "_setUniswapUniversalRouter(address)"}}}}], "description": "BaseBuyback._setUniswapUniversalRouter(address) (contracts/buyback/BaseBuyback.sol#103-112) ignores return value by IERC20(oToken).approve(universalRouter,0) (contracts/buyback/BaseBuyback.sol#106)\n", "markdown": "[BaseBuyback._setUniswapUniversalRouter(address)](contracts/buyback/BaseBuyback.sol#L103-L112) ignores return value by [IERC20(oToken).approve(universalRouter,0)](contracts/buyback/BaseBuyback.sol#L106)\n", "first_markdown_element": "contracts/buyback/BaseBuyback.sol#L103-L112", "id": "7a20874f6f861f199337da5b19ec4694217da101724d2cd37244d03f288e947f", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_setUniswapUniversalRouter", "source_mapping": {"start": 3767, "length": 372, "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.sol", "is_dependency": false, "lines": [117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Buyback", "source_mapping": {"start": 546, "length": 11684, "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.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, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374], "starting_column": 1, "ending_column": 2}}, "signature": "_setUniswapUniversalRouter(address)"}}, {"type": "node", "name": "IERC20(ousd).approve(universalRouter,0)", "source_mapping": {"start": 3938, "length": 40, "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.sol", "is_dependency": false, "lines": [120], "starting_column": 13, "ending_column": 53}, "type_specific_fields": {"parent": {"type": "function", "name": "_setUniswapUniversalRouter", "source_mapping": {"start": 3767, "length": 372, "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.sol", "is_dependency": false, "lines": [117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Buyback", "source_mapping": {"start": 546, "length": 11684, "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.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, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374], "starting_column": 1, "ending_column": 2}}, "signature": "_setUniswapUniversalRouter(address)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "IERC20(oeth).approve(universalRouter,0)", "source_mapping": {"start": 3992, "length": 40, "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.sol", "is_dependency": false, "lines": [121], "starting_column": 13, "ending_column": 53}, "type_specific_fields": {"parent": {"type": "function", "name": "_setUniswapUniversalRouter", "source_mapping": {"start": 3767, "length": 372, "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.sol", "is_dependency": false, "lines": [117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Buyback", "source_mapping": {"start": 546, "length": 11684, "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.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, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374], "starting_column": 1, "ending_column": 2}}, "signature": "_setUniswapUniversalRouter(address)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "universalRouter = _router", "source_mapping": {"start": 4053, "length": 25, "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.sol", "is_dependency": false, "lines": [124], "starting_column": 9, "ending_column": 34}, "type_specific_fields": {"parent": {"type": "function", "name": "_setUniswapUniversalRouter", "source_mapping": {"start": 3767, "length": 372, "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.sol", "is_dependency": false, "lines": [117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Buyback", "source_mapping": {"start": 546, "length": 11684, "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.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, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374], "starting_column": 1, "ending_column": 2}}, "signature": "_setUniswapUniversalRouter(address)"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "universalRouter"}}], "description": "Reentrancy in Buyback._setUniswapUniversalRouter(address) (contracts/buyback/Buyback.sol#117-127):\n\tExternal calls:\n\t- IERC20(ousd).approve(universalRouter,0) (contracts/buyback/Buyback.sol#120)\n\t- IERC20(oeth).approve(universalRouter,0) (contracts/buyback/Buyback.sol#121)\n\tState variables written after the call(s):\n\t- universalRouter = _router (contracts/buyback/Buyback.sol#124)\n\tBuyback.universalRouter (contracts/buyback/Buyback.sol#37) can be used in cross function reentrancies:\n\t- Buyback._setUniswapUniversalRouter(address) (contracts/buyback/Buyback.sol#117-127)\n\t- Buyback.universalRouter (contracts/buyback/Buyback.sol#37)\n", "markdown": "Reentrancy in [Buyback._setUniswapUniversalRouter(address)](contracts/buyback/Buyback.sol#L117-L127):\n\tExternal calls:\n\t- [IERC20(ousd).approve(universalRouter,0)](contracts/buyback/Buyback.sol#L120)\n\t- [IERC20(oeth).approve(universalRouter,0)](contracts/buyback/Buyback.sol#L121)\n\tState variables written after the call(s):\n\t- [universalRouter = _router](contracts/buyback/Buyback.sol#L124)\n\t[Buyback.universalRouter](contracts/buyback/Buyback.sol#L37) can be used in cross function reentrancies:\n\t- [Buyback._setUniswapUniversalRouter(address)](contracts/buyback/Buyback.sol#L117-L127)\n\t- [Buyback.universalRouter](contracts/buyback/Buyback.sol#L37)\n", "first_markdown_element": "contracts/buyback/Buyback.sol#L117-L127", "id": "b932a6b36d3ab0a8e79857c0b0c725c46b791263a4f87c7e06f1c76c3179f6f6", "check": "reentrancy-no-eth", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_setUniswapUniversalRouter", "source_mapping": {"start": 3767, "length": 372, "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.sol", "is_dependency": false, "lines": [117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Buyback", "source_mapping": {"start": 546, "length": 11684, "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.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, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374], "starting_column": 1, "ending_column": 2}}, "signature": "_setUniswapUniversalRouter(address)"}}, {"type": "node", "name": "IERC20(ousd).approve(universalRouter,0)", "source_mapping": {"start": 3938, "length": 40, "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.sol", "is_dependency": false, "lines": [120], "starting_column": 13, "ending_column": 53}, "type_specific_fields": {"parent": {"type": "function", "name": "_setUniswapUniversalRouter", "source_mapping": {"start": 3767, "length": 372, "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.sol", "is_dependency": false, "lines": [117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Buyback", "source_mapping": {"start": 546, "length": 11684, "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.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, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374], "starting_column": 1, "ending_column": 2}}, "signature": "_setUniswapUniversalRouter(address)"}}}}], "description": "Buyback._setUniswapUniversalRouter(address) (contracts/buyback/Buyback.sol#117-127) ignores return value by IERC20(ousd).approve(universalRouter,0) (contracts/buyback/Buyback.sol#120)\n", "markdown": "[Buyback._setUniswapUniversalRouter(address)](contracts/buyback/Buyback.sol#L117-L127) ignores return value by [IERC20(ousd).approve(universalRouter,0)](contracts/buyback/Buyback.sol#L120)\n", "first_markdown_element": "contracts/buyback/Buyback.sol#L117-L127", "id": "7daab5d45656d0cecde144179adfd717608cba4dd9fb6b953f5f14d96c146dd1", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_setUniswapUniversalRouter", "source_mapping": {"start": 3767, "length": 372, "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.sol", "is_dependency": false, "lines": [117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Buyback", "source_mapping": {"start": 546, "length": 11684, "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.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, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374], "starting_column": 1, "ending_column": 2}}, "signature": "_setUniswapUniversalRouter(address)"}}, {"type": "node", "name": "IERC20(oeth).approve(universalRouter,0)", "source_mapping": {"start": 3992, "length": 40, "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.sol", "is_dependency": false, "lines": [121], "starting_column": 13, "ending_column": 53}, "type_specific_fields": {"parent": {"type": "function", "name": "_setUniswapUniversalRouter", "source_mapping": {"start": 3767, "length": 372, "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.sol", "is_dependency": false, "lines": [117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Buyback", "source_mapping": {"start": 546, "length": 11684, "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.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, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374], "starting_column": 1, "ending_column": 2}}, "signature": "_setUniswapUniversalRouter(address)"}}}}], "description": "Buyback._setUniswapUniversalRouter(address) (contracts/buyback/Buyback.sol#117-127) ignores return value by IERC20(oeth).approve(universalRouter,0) (contracts/buyback/Buyback.sol#121)\n", "markdown": "[Buyback._setUniswapUniversalRouter(address)](contracts/buyback/Buyback.sol#L117-L127) ignores return value by [IERC20(oeth).approve(universalRouter,0)](contracts/buyback/Buyback.sol#L121)\n", "first_markdown_element": "contracts/buyback/Buyback.sol#L117-L127", "id": "f93fa4e05fd64289e99e04fe22132cd474fc8db7419d99a3e6a1adfa993b2193", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_deposit", "source_mapping": {"start": 6928, "length": 2553, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.sol", "is_dependency": false, "lines": [178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ConvexEthMetaStrategy", "source_mapping": {"start": 769, "length": 22879, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622], "starting_column": 1, "ending_column": 2}}, "signature": "_deposit(address,uint256)"}}, {"type": "node", "name": "lpDeposited = curvePool.add_liquidity{value: _wethAmount}(_amounts,minMintAmount)", "source_mapping": {"start": 9006, "length": 126, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.sol", "is_dependency": false, "lines": [227, 228, 229, 230], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "_deposit", "source_mapping": {"start": 6928, "length": 2553, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.sol", "is_dependency": false, "lines": [178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ConvexEthMetaStrategy", "source_mapping": {"start": 769, "length": 22879, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622], "starting_column": 1, "ending_column": 2}}, "signature": "_deposit(address,uint256)"}}}}], "description": "ConvexEthMetaStrategy._deposit(address,uint256) (contracts/strategies/ConvexEthMetaStrategy.sol#178-241) sends eth to arbitrary user\n\tDangerous calls:\n\t- lpDeposited = curvePool.add_liquidity{value: _wethAmount}(_amounts,minMintAmount) (contracts/strategies/ConvexEthMetaStrategy.sol#227-230)\n", "markdown": "[ConvexEthMetaStrategy._deposit(address,uint256)](contracts/strategies/ConvexEthMetaStrategy.sol#L178-L241) sends eth to arbitrary user\n\tDangerous calls:\n\t- [lpDeposited = curvePool.add_liquidity{value: _wethAmount}(_amounts,minMintAmount)](contracts/strategies/ConvexEthMetaStrategy.sol#L227-L230)\n", "first_markdown_element": "contracts/strategies/ConvexEthMetaStrategy.sol#L178-L241", "id": "75ef502a2f513f385a2c424812fba1371a2945d29db42fd46795b68a3fb7ec9d", "check": "arbitrary-send-eth", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "price", "source_mapping": {"start": 1593, "length": 894, "filename_relative": "contracts/oracle/OracleRouter.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/oracle/OracleRouter.sol", "filename_short": "contracts/oracle/OracleRouter.sol", "is_dependency": false, "lines": [41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OracleRouterBase", "source_mapping": {"start": 429, "length": 3340, "filename_relative": "contracts/oracle/OracleRouter.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/oracle/OracleRouter.sol", "filename_short": "contracts/oracle/OracleRouter.sol", "is_dependency": false, "lines": [11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100], "starting_column": 1, "ending_column": 2}}, "signature": "price(address)"}}, {"type": "node", "name": "(_iprice,updatedAt) = AggregatorV3Interface(_feed).latestRoundData()", "source_mapping": {"start": 1931, "length": 103, "filename_relative": "contracts/oracle/OracleRouter.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/oracle/OracleRouter.sol", "filename_short": "contracts/oracle/OracleRouter.sol", "is_dependency": false, "lines": [52, 53], "starting_column": 9, "ending_column": 31}, "type_specific_fields": {"parent": {"type": "function", "name": "price", "source_mapping": {"start": 1593, "length": 894, "filename_relative": "contracts/oracle/OracleRouter.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/oracle/OracleRouter.sol", "filename_short": "contracts/oracle/OracleRouter.sol", "is_dependency": false, "lines": [41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OracleRouterBase", "source_mapping": {"start": 429, "length": 3340, "filename_relative": "contracts/oracle/OracleRouter.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/oracle/OracleRouter.sol", "filename_short": "contracts/oracle/OracleRouter.sol", "is_dependency": false, "lines": [11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100], "starting_column": 1, "ending_column": 2}}, "signature": "price(address)"}}}}], "description": "OracleRouterBase.price(address) (contracts/oracle/OracleRouter.sol#41-68) ignores return value by (_iprice,updatedAt) = AggregatorV3Interface(_feed).latestRoundData() (contracts/oracle/OracleRouter.sol#52-53)\n", "markdown": "[OracleRouterBase.price(address)](contracts/oracle/OracleRouter.sol#L41-L68) ignores return value by [(_iprice,updatedAt) = AggregatorV3Interface(_feed).latestRoundData()](contracts/oracle/OracleRouter.sol#L52-L53)\n", "first_markdown_element": "contracts/oracle/OracleRouter.sol#L41-L68", "id": "6209af3b6f21e22017468756cdffc0905ff6a469cffe32a283d178692f200e96", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "price", "source_mapping": {"start": 7130, "length": 700, "filename_relative": "contracts/oracle/OracleRouter.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/oracle/OracleRouter.sol", "filename_short": "contracts/oracle/OracleRouter.sol", "is_dependency": false, "lines": [172, 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": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OETHOracleRouter", "source_mapping": {"start": 6730, "length": 3600, "filename_relative": "contracts/oracle/OracleRouter.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/oracle/OracleRouter.sol", "filename_short": "contracts/oracle/OracleRouter.sol", "is_dependency": false, "lines": [162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249], "starting_column": 1, "ending_column": 2}}, "signature": "price(address)"}}, {"type": "node", "name": "(_iprice,updatedAt) = AggregatorV3Interface(_feed).latestRoundData()", "source_mapping": {"start": 7465, "length": 103, "filename_relative": "contracts/oracle/OracleRouter.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/oracle/OracleRouter.sol", "filename_short": "contracts/oracle/OracleRouter.sol", "is_dependency": false, "lines": [185, 186], "starting_column": 9, "ending_column": 31}, "type_specific_fields": {"parent": {"type": "function", "name": "price", "source_mapping": {"start": 7130, "length": 700, "filename_relative": "contracts/oracle/OracleRouter.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/oracle/OracleRouter.sol", "filename_short": "contracts/oracle/OracleRouter.sol", "is_dependency": false, "lines": [172, 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": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OETHOracleRouter", "source_mapping": {"start": 6730, "length": 3600, "filename_relative": "contracts/oracle/OracleRouter.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/oracle/OracleRouter.sol", "filename_short": "contracts/oracle/OracleRouter.sol", "is_dependency": false, "lines": [162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249], "starting_column": 1, "ending_column": 2}}, "signature": "price(address)"}}}}], "description": "OETHOracleRouter.price(address) (contracts/oracle/OracleRouter.sol#172-196) ignores return value by (_iprice,updatedAt) = AggregatorV3Interface(_feed).latestRoundData() (contracts/oracle/OracleRouter.sol#185-186)\n", "markdown": "[OETHOracleRouter.price(address)](contracts/oracle/OracleRouter.sol#L172-L196) ignores return value by [(_iprice,updatedAt) = AggregatorV3Interface(_feed).latestRoundData()](contracts/oracle/OracleRouter.sol#L185-L186)\n", "first_markdown_element": "contracts/oracle/OracleRouter.sol#L172-L196", "id": "b3a9b1629bc0c0c5f2edbcecdd5b6cc290654923a39479541a280c9b6a7f477d", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_checkBalance", "source_mapping": {"start": 6528, "length": 369, "filename_relative": "contracts/strategies/MorphoAaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoAaveStrategy.sol", "filename_short": "contracts/strategies/MorphoAaveStrategy.sol", "is_dependency": false, "lines": [202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MorphoAaveStrategy", "source_mapping": {"start": 563, "length": 7125, "filename_relative": "contracts/strategies/MorphoAaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoAaveStrategy.sol", "filename_short": "contracts/strategies/MorphoAaveStrategy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240], "starting_column": 1, "ending_column": 2}}, "signature": "_checkBalance(address)"}}, {"type": "node", "name": "(None,None,balance) = ILens(LENS).getCurrentSupplyBalanceInOf(pToken,address(this))", "source_mapping": {"start": 6778, "length": 112, "filename_relative": "contracts/strategies/MorphoAaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoAaveStrategy.sol", "filename_short": "contracts/strategies/MorphoAaveStrategy.sol", "is_dependency": false, "lines": [210, 211, 212, 213], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "_checkBalance", "source_mapping": {"start": 6528, "length": 369, "filename_relative": "contracts/strategies/MorphoAaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoAaveStrategy.sol", "filename_short": "contracts/strategies/MorphoAaveStrategy.sol", "is_dependency": false, "lines": [202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MorphoAaveStrategy", "source_mapping": {"start": 563, "length": 7125, "filename_relative": "contracts/strategies/MorphoAaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoAaveStrategy.sol", "filename_short": "contracts/strategies/MorphoAaveStrategy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240], "starting_column": 1, "ending_column": 2}}, "signature": "_checkBalance(address)"}}}}], "description": "MorphoAaveStrategy._checkBalance(address) (contracts/strategies/MorphoAaveStrategy.sol#202-214) ignores return value by (None,None,balance) = ILens(LENS).getCurrentSupplyBalanceInOf(pToken,address(this)) (contracts/strategies/MorphoAaveStrategy.sol#210-213)\n", "markdown": "[MorphoAaveStrategy._checkBalance(address)](contracts/strategies/MorphoAaveStrategy.sol#L202-L214) ignores return value by [(None,None,balance) = ILens(LENS).getCurrentSupplyBalanceInOf(pToken,address(this))](contracts/strategies/MorphoAaveStrategy.sol#L210-L213)\n", "first_markdown_element": "contracts/strategies/MorphoAaveStrategy.sol#L202-L214", "id": "4cf7355ba40b814d1901bb2d39a6f82a6123393dfb73c4b4ffde2185135ce437", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_checkBalance", "source_mapping": {"start": 8191, "length": 360, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MorphoCompoundStrategy", "source_mapping": {"start": 608, "length": 7945, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251], "starting_column": 1, "ending_column": 2}}, "signature": "_checkBalance(address)"}}, {"type": "node", "name": "(None,None,balance) = ILens(LENS).getCurrentSupplyBalanceInOf(pToken,address(this))", "source_mapping": {"start": 8432, "length": 112, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [246, 247, 248, 249], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "_checkBalance", "source_mapping": {"start": 8191, "length": 360, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MorphoCompoundStrategy", "source_mapping": {"start": 608, "length": 7945, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251], "starting_column": 1, "ending_column": 2}}, "signature": "_checkBalance(address)"}}}}], "description": "MorphoCompoundStrategy._checkBalance(address) (contracts/strategies/MorphoCompoundStrategy.sol#238-250) ignores return value by (None,None,balance) = ILens(LENS).getCurrentSupplyBalanceInOf(pToken,address(this)) (contracts/strategies/MorphoCompoundStrategy.sol#246-249)\n", "markdown": "[MorphoCompoundStrategy._checkBalance(address)](contracts/strategies/MorphoCompoundStrategy.sol#L238-L250) ignores return value by [(None,None,balance) = ILens(LENS).getCurrentSupplyBalanceInOf(pToken,address(this))](contracts/strategies/MorphoCompoundStrategy.sol#L246-L249)\n", "first_markdown_element": "contracts/strategies/MorphoCompoundStrategy.sol#L238-L250", "id": "aae8756dd4310146d8bb051edd3c3ab77f1a8d97181e0a98177aedc43a56e23d", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_getPoolAssets", "source_mapping": {"start": 12543, "length": 148, "filename_relative": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_short": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "is_dependency": false, "lines": [304, 305, 306], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseBalancerStrategy", "source_mapping": {"start": 798, "length": 17926, "filename_relative": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_short": "contracts/strategies/balancer/BaseBalancerStrategy.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, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 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], "starting_column": 1, "ending_column": 2}}, "signature": "_getPoolAssets()"}}, {"type": "node", "name": "(assets,None,None) = balancerVault.getPoolTokens(balancerPoolId)", "source_mapping": {"start": 12626, "length": 58, "filename_relative": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_short": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "is_dependency": false, "lines": [305], "starting_column": 9, "ending_column": 67}, "type_specific_fields": {"parent": {"type": "function", "name": "_getPoolAssets", "source_mapping": {"start": 12543, "length": 148, "filename_relative": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_short": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "is_dependency": false, "lines": [304, 305, 306], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseBalancerStrategy", "source_mapping": {"start": 798, "length": 17926, "filename_relative": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_short": "contracts/strategies/balancer/BaseBalancerStrategy.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, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 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], "starting_column": 1, "ending_column": 2}}, "signature": "_getPoolAssets()"}}}}], "description": "BaseBalancerStrategy._getPoolAssets() (contracts/strategies/balancer/BaseBalancerStrategy.sol#304-306) ignores return value by (assets,None,None) = balancerVault.getPoolTokens(balancerPoolId) (contracts/strategies/balancer/BaseBalancerStrategy.sol#305)\n", "markdown": "[BaseBalancerStrategy._getPoolAssets()](contracts/strategies/balancer/BaseBalancerStrategy.sol#L304-L306) ignores return value by [(assets,None,None) = balancerVault.getPoolTokens(balancerPoolId)](contracts/strategies/balancer/BaseBalancerStrategy.sol#L305)\n", "first_markdown_element": "contracts/strategies/balancer/BaseBalancerStrategy.sol#L304-L306", "id": "21c54e3d1ca39fd24d0f103cf5e24127d7744808ffa3864cfb51a5f86248ff5f", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_deposit", "source_mapping": {"start": 3095, "length": 3242, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BalancerMetaPoolStrategy", "source_mapping": {"start": 708, "length": 21715, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "_deposit(address[],uint256[])"}}, {"type": "node", "name": "(tokens) = balancerVault.getPoolTokens(balancerPoolId)", "source_mapping": {"start": 3352, "length": 96, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [92, 93, 94], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "_deposit", "source_mapping": {"start": 3095, "length": 3242, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BalancerMetaPoolStrategy", "source_mapping": {"start": 708, "length": 21715, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "_deposit(address[],uint256[])"}}}}], "description": "BalancerMetaPoolStrategy._deposit(address[],uint256[]) (contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#83-173) ignores return value by (tokens) = balancerVault.getPoolTokens(balancerPoolId) (contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#92-94)\n", "markdown": "[BalancerMetaPoolStrategy._deposit(address[],uint256[])](contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L83-L173) ignores return value by [(tokens) = balancerVault.getPoolTokens(balancerPoolId)](contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L92-L94)\n", "first_markdown_element": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L83-L173", "id": "c6f964aee4da3934e983a28493b99b37bfadfca9bd8718a64f3e4bc82580b751", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_withdraw", "source_mapping": {"start": 8546, "length": 6981, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BalancerMetaPoolStrategy", "source_mapping": {"start": 708, "length": 21715, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "_withdraw(address,address[],uint256[])"}}, {"type": "node", "name": "(tokens) = balancerVault.getPoolTokens(balancerPoolId)", "source_mapping": {"start": 9196, "length": 96, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [240, 241, 242], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "_withdraw", "source_mapping": {"start": 8546, "length": 6981, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BalancerMetaPoolStrategy", "source_mapping": {"start": 708, "length": 21715, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "_withdraw(address,address[],uint256[])"}}}}], "description": "BalancerMetaPoolStrategy._withdraw(address,address[],uint256[]) (contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#220-384) ignores return value by (tokens) = balancerVault.getPoolTokens(balancerPoolId) (contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#240-242)\n", "markdown": "[BalancerMetaPoolStrategy._withdraw(address,address[],uint256[])](contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L220-L384) ignores return value by [(tokens) = balancerVault.getPoolTokens(balancerPoolId)](contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L240-L242)\n", "first_markdown_element": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L220-L384", "id": "b6dfd0234a00fe7ec86440a81eff1c382ad27a77a030e172fa8ed3c20e62835f", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "withdrawAll", "source_mapping": {"start": 15746, "length": 3500, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [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], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BalancerMetaPoolStrategy", "source_mapping": {"start": 708, "length": 21715, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "withdrawAll()"}}, {"type": "node", "name": "(tokens) = balancerVault.getPoolTokens(balancerPoolId)", "source_mapping": {"start": 16219, "length": 96, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [401, 402, 403], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "withdrawAll", "source_mapping": {"start": 15746, "length": 3500, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [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], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BalancerMetaPoolStrategy", "source_mapping": {"start": 708, "length": 21715, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "withdrawAll()"}}}}], "description": "BalancerMetaPoolStrategy.withdrawAll() (contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#392-473) ignores return value by (tokens) = balancerVault.getPoolTokens(balancerPoolId) (contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#401-403)\n", "markdown": "[BalancerMetaPoolStrategy.withdrawAll()](contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L392-L473) ignores return value by [(tokens) = balancerVault.getPoolTokens(balancerPoolId)](contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L401-L403)\n", "first_markdown_element": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L392-L473", "id": "a7365da818ffe46e2f970cfb2adeba732b39671fb32ad6fc01b30eb86796d70a", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_getRateProviderRate", "source_mapping": {"start": 21512, "length": 909, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BalancerMetaPoolStrategy", "source_mapping": {"start": 708, "length": 21715, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "_getRateProviderRate(address)"}}, {"type": "node", "name": "(tokens) = balancerVault.getPoolTokens(balancerPoolId)", "source_mapping": {"start": 21778, "length": 96, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [542, 543, 544], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "_getRateProviderRate", "source_mapping": {"start": 21512, "length": 909, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BalancerMetaPoolStrategy", "source_mapping": {"start": 708, "length": 21715, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "_getRateProviderRate(address)"}}}}], "description": "BalancerMetaPoolStrategy._getRateProviderRate(address) (contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#534-560) ignores return value by (tokens) = balancerVault.getPoolTokens(balancerPoolId) (contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#542-544)\n", "markdown": "[BalancerMetaPoolStrategy._getRateProviderRate(address)](contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L534-L560) ignores return value by [(tokens) = balancerVault.getPoolTokens(balancerPoolId)](contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L542-L544)\n", "first_markdown_element": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L534-L560", "id": "36ed2fe9e73d5e1d882a0bd06ef1472869f8bdb8fe801c9015e95738edb9be60", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "swap", "source_mapping": {"start": 1921, "length": 2324, "filename_relative": "contracts/swapper/Swapper1InchV5.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/swapper/Swapper1InchV5.sol", "filename_short": "contracts/swapper/Swapper1InchV5.sol", "is_dependency": false, "lines": [40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Swapper1InchV5", "source_mapping": {"start": 756, "length": 3993, "filename_relative": "contracts/swapper/Swapper1InchV5.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/swapper/Swapper1InchV5.sol", "filename_short": "contracts/swapper/Swapper1InchV5.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, 99, 100, 101, 102, 103, 104, 105, 106, 107], "starting_column": 1, "ending_column": 2}}, "signature": "swap(address,address,uint256,uint256,bytes)"}}, {"type": "node", "name": "(toAssetAmount,None) = IOneInchRouter(SWAP_ROUTER).swap(IAggregationExecutor(executer),swapDesc,,executerData)", "source_mapping": {"start": 3028, "length": 193, "filename_relative": "contracts/swapper/Swapper1InchV5.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/swapper/Swapper1InchV5.sol", "filename_short": "contracts/swapper/Swapper1InchV5.sol", "is_dependency": false, "lines": [65, 66, 67, 68, 69, 70], "starting_column": 13, "ending_column": 14}, "type_specific_fields": {"parent": {"type": "function", "name": "swap", "source_mapping": {"start": 1921, "length": 2324, "filename_relative": "contracts/swapper/Swapper1InchV5.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/swapper/Swapper1InchV5.sol", "filename_short": "contracts/swapper/Swapper1InchV5.sol", "is_dependency": false, "lines": [40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Swapper1InchV5", "source_mapping": {"start": 756, "length": 3993, "filename_relative": "contracts/swapper/Swapper1InchV5.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/swapper/Swapper1InchV5.sol", "filename_short": "contracts/swapper/Swapper1InchV5.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, 99, 100, 101, 102, 103, 104, 105, 106, 107], "starting_column": 1, "ending_column": 2}}, "signature": "swap(address,address,uint256,uint256,bytes)"}}}}], "description": "Swapper1InchV5.swap(address,address,uint256,uint256,bytes) (contracts/swapper/Swapper1InchV5.sol#40-94) ignores return value by (toAssetAmount,None) = IOneInchRouter(SWAP_ROUTER).swap(IAggregationExecutor(executer),swapDesc,,executerData) (contracts/swapper/Swapper1InchV5.sol#65-70)\n", "markdown": "[Swapper1InchV5.swap(address,address,uint256,uint256,bytes)](contracts/swapper/Swapper1InchV5.sol#L40-L94) ignores return value by [(toAssetAmount,None) = IOneInchRouter(SWAP_ROUTER).swap(IAggregationExecutor(executer),swapDesc,,executerData)](contracts/swapper/Swapper1InchV5.sol#L65-L70)\n", "first_markdown_element": "contracts/swapper/Swapper1InchV5.sol#L40-L94", "id": "a20be31d0dee33859aaf12dbf3a9efdddb933083e9aaec46c76173e1e0576290", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "onlyUnlockedAdjuster", "source_mapping": {"start": 5015, "length": 184, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [159, 160, 161, 162, 163], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompensationClaims", "source_mapping": {"start": 1527, "length": 3674, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164], "starting_column": 1, "ending_column": 2}}, "signature": "onlyUnlockedAdjuster()"}}, {"type": "node", "name": "require(bool,string)(isAdjusterLocked == false,Adjuster must be unlocked)", "source_mapping": {"start": 5057, "length": 63, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [160], "starting_column": 9, "ending_column": 72}, "type_specific_fields": {"parent": {"type": "function", "name": "onlyUnlockedAdjuster", "source_mapping": {"start": 5015, "length": 184, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [159, 160, 161, 162, 163], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompensationClaims", "source_mapping": {"start": 1527, "length": 3674, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164], "starting_column": 1, "ending_column": 2}}, "signature": "onlyUnlockedAdjuster()"}}}}], "description": "CompensationClaims.onlyUnlockedAdjuster() (contracts/compensation/CompensationClaims.sol#159-163) compares to a boolean constant:\n\t-require(bool,string)(isAdjusterLocked == false,Adjuster must be unlocked) (contracts/compensation/CompensationClaims.sol#160)\n", "markdown": "[CompensationClaims.onlyUnlockedAdjuster()](contracts/compensation/CompensationClaims.sol#L159-L163) compares to a boolean constant:\n\t-[require(bool,string)(isAdjusterLocked == false,Adjuster must be unlocked)](contracts/compensation/CompensationClaims.sol#L160)\n", "first_markdown_element": "contracts/compensation/CompensationClaims.sol#L159-L163", "id": "c674328ac540cee46322710f4f2b564022817568b3de72c2f333499667897fb6", "check": "boolean-equal", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "setClaims", "source_mapping": {"start": 2859, "length": 679, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompensationClaims", "source_mapping": {"start": 1527, "length": 3674, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164], "starting_column": 1, "ending_column": 2}}, "signature": "setClaims(address[],uint256[])"}}, {"type": "node", "name": "totalClaims = totalClaims.add(newAmount).sub(oldAmount)", "source_mapping": {"start": 3417, "length": 55, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [100], "starting_column": 13, "ending_column": 68}, "type_specific_fields": {"parent": {"type": "function", "name": "setClaims", "source_mapping": {"start": 2859, "length": 679, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompensationClaims", "source_mapping": {"start": 1527, "length": 3674, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164], "starting_column": 1, "ending_column": 2}}, "signature": "setClaims(address[],uint256[])"}}}}], "description": "CompensationClaims.setClaims(address[],uint256[]) (contracts/compensation/CompensationClaims.sol#86-103) has costly operations inside a loop:\n\t- totalClaims = totalClaims.add(newAmount).sub(oldAmount) (contracts/compensation/CompensationClaims.sol#100)\n", "markdown": "[CompensationClaims.setClaims(address[],uint256[])](contracts/compensation/CompensationClaims.sol#L86-L103) has costly operations inside a loop:\n\t- [totalClaims = totalClaims.add(newAmount).sub(oldAmount)](contracts/compensation/CompensationClaims.sol#L100)\n", "first_markdown_element": "contracts/compensation/CompensationClaims.sol#L86-L103", "id": "ead4689fefe47be38b040394ae6995dc07b10079222841e5c24d8b378ff13658", "check": "costly-loop", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_fromPoolAsset", "source_mapping": {"start": 15639, "length": 615, "filename_relative": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_short": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "is_dependency": false, "lines": [400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseBalancerStrategy", "source_mapping": {"start": 798, "length": 17926, "filename_relative": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_short": "contracts/strategies/balancer/BaseBalancerStrategy.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, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 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], "starting_column": 1, "ending_column": 2}}, "signature": "_fromPoolAsset(address,uint256)"}}], "description": "BaseBalancerStrategy._fromPoolAsset(address,uint256) (contracts/strategies/balancer/BaseBalancerStrategy.sol#400-419) is never used and should be removed\n", "markdown": "[BaseBalancerStrategy._fromPoolAsset(address,uint256)](contracts/strategies/balancer/BaseBalancerStrategy.sol#L400-L419) is never used and should be removed\n", "first_markdown_element": "contracts/strategies/balancer/BaseBalancerStrategy.sol#L400-L419", "id": "7172c3b3e3f4d4faa0d43c072a323390d348e93a94411aeffd451a0c8f12155e", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_getBPTExpected", "source_mapping": {"start": 11209, "length": 363, "filename_relative": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_short": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "is_dependency": false, "lines": [266, 267, 268, 269, 270, 271, 272, 273, 274, 275], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseBalancerStrategy", "source_mapping": {"start": 798, "length": 17926, "filename_relative": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_short": "contracts/strategies/balancer/BaseBalancerStrategy.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, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 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], "starting_column": 1, "ending_column": 2}}, "signature": "_getBPTExpected(address,uint256)"}}], "description": "BaseBalancerStrategy._getBPTExpected(address,uint256) (contracts/strategies/balancer/BaseBalancerStrategy.sol#266-275) is never used and should be removed\n", "markdown": "[BaseBalancerStrategy._getBPTExpected(address,uint256)](contracts/strategies/balancer/BaseBalancerStrategy.sol#L266-L275) is never used and should be removed\n", "first_markdown_element": "contracts/strategies/balancer/BaseBalancerStrategy.sol#L266-L275", "id": "414392a8237d7c299280870f69d60c9020effb6da887ce3329b46ad1a4b1a5c8", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_getBalancerPoolTokens", "source_mapping": {"start": 8966, "length": 215, "filename_relative": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_short": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "is_dependency": false, "lines": [222, 223, 224, 225, 226, 227, 228, 229], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseBalancerStrategy", "source_mapping": {"start": 798, "length": 17926, "filename_relative": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_short": "contracts/strategies/balancer/BaseBalancerStrategy.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, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 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], "starting_column": 1, "ending_column": 2}}, "signature": "_getBalancerPoolTokens()"}}], "description": "BaseBalancerStrategy._getBalancerPoolTokens() (contracts/strategies/balancer/BaseBalancerStrategy.sol#222-229) is never used and should be removed\n", "markdown": "[BaseBalancerStrategy._getBalancerPoolTokens()](contracts/strategies/balancer/BaseBalancerStrategy.sol#L222-L229) is never used and should be removed\n", "first_markdown_element": "contracts/strategies/balancer/BaseBalancerStrategy.sol#L222-L229", "id": "43bad484abb5503ba664b26eef9bf25d7ca8e3728ff4fd75e1beb9fc8335010b", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_deposit", "source_mapping": {"start": 2484, "length": 386, "filename_relative": "contracts/strategies/Generalized4626Strategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/Generalized4626Strategy.sol", "filename_short": "contracts/strategies/Generalized4626Strategy.sol", "is_dependency": false, "lines": [75, 76, 77, 78, 79, 80, 81, 82], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Generalized4626Strategy", "source_mapping": {"start": 454, "length": 6746, "filename_relative": "contracts/strategies/Generalized4626Strategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/Generalized4626Strategy.sol", "filename_short": "contracts/strategies/Generalized4626Strategy.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, 209, 210, 211], "starting_column": 1, "ending_column": 2}}, "signature": "_deposit(address,uint256)"}}], "description": "Generalized4626Strategy._deposit(address,uint256) (contracts/strategies/Generalized4626Strategy.sol#75-82) is never used and should be removed\n", "markdown": "[Generalized4626Strategy._deposit(address,uint256)](contracts/strategies/Generalized4626Strategy.sol#L75-L82) is never used and should be removed\n", "first_markdown_element": "contracts/strategies/Generalized4626Strategy.sol#L75-L82", "id": "36721a3f5c9b22c9bd57a3041f3b07fcc21c57f456cc144dfe21fbfc82b777dd", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_initialize", "source_mapping": {"start": 321, "length": 98, "filename_relative": "contracts/governance/InitializableGovernable.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/InitializableGovernable.sol", "filename_short": "contracts/governance/InitializableGovernable.sol", "is_dependency": false, "lines": [13, 14, 15], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "InitializableGovernable", "source_mapping": {"start": 253, "length": 168, "filename_relative": "contracts/governance/InitializableGovernable.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/InitializableGovernable.sol", "filename_short": "contracts/governance/InitializableGovernable.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16], "starting_column": 1, "ending_column": 2}}, "signature": "_initialize(address)"}}], "description": "InitializableGovernable._initialize(address) (contracts/governance/InitializableGovernable.sol#13-15) is never used and should be removed\n", "markdown": "[InitializableGovernable._initialize(address)](contracts/governance/InitializableGovernable.sol#L13-L15) is never used and should be removed\n", "first_markdown_element": "contracts/governance/InitializableGovernable.sol#L13-L15", "id": "3f2ac1fe30d5e500e79d00d7cdcee650008e5473ee804bcc3ba92d1969ece075", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_require", "source_mapping": {"start": 1162, "length": 138, "filename_relative": "contracts/utils/BalancerErrors.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/utils/BalancerErrors.sol", "filename_short": "contracts/utils/BalancerErrors.sol", "is_dependency": false, "lines": [32, 33, 34, 35, 36, 37, 38], "starting_column": 1, "ending_column": 2}, "type_specific_fields": {"parent": null, "signature": "_require(bool,uint256,bytes3)"}}], "description": "_require(bool,uint256,bytes3) (contracts/utils/BalancerErrors.sol#32-38) is never used and should be removed\n", "markdown": "[_require(bool,uint256,bytes3)](contracts/utils/BalancerErrors.sol#L32-L38) is never used and should be removed\n", "first_markdown_element": "contracts/utils/BalancerErrors.sol#L32-L38", "id": "34a9a1f0d261723592d808bbe846d790121d01f33f11a357647ffba1718d4da8", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/buyback/Buyback.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/buyback/Buyback.sol#L2) allows old versions\n", "first_markdown_element": "contracts/buyback/Buyback.sol#L2", "id": "82f7aa39285a2aa0a0aeb4cba71ff4484e8d7d769c5cfd578256f37620cd4b1c", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/compensation/CompensationClaims.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/compensation/CompensationClaims.sol#L2) allows old versions\n", "first_markdown_element": "contracts/compensation/CompensationClaims.sol#L2", "id": "c02ba4c4226a7a9670dc4b7bab2bebca3a519f6c5a51add1ba22600ea05e24f7", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/flipper/Flipper.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/flipper/Flipper.sol", "filename_short": "contracts/flipper/Flipper.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/flipper/Flipper.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/flipper/Flipper.sol#L2) allows old versions\n", "first_markdown_element": "contracts/flipper/Flipper.sol#L2", "id": "281c63a535d0389950d5b075401c81b9c18da3629810d6f94c96e0e9348d77cf", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/governance/Governable.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/Governable.sol", "filename_short": "contracts/governance/Governable.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/governance/Governable.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/governance/Governable.sol#L2) allows old versions\n", "first_markdown_element": "contracts/governance/Governable.sol#L2", "id": "a9f16bb10340d2d12d80ed061384a2ffef346969793204e4fbedca1c24145ed8", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/governance/Governor.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/Governor.sol", "filename_short": "contracts/governance/Governor.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/governance/Governor.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/governance/Governor.sol#L2) allows old versions\n", "first_markdown_element": "contracts/governance/Governor.sol#L2", "id": "cacf63d5a01c6cc2a8853d12121bf90c8f7bc7c278244272b10503aeb7f0d558", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/governance/InitializableGovernable.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/InitializableGovernable.sol", "filename_short": "contracts/governance/InitializableGovernable.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/governance/InitializableGovernable.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/governance/InitializableGovernable.sol#L2) allows old versions\n", "first_markdown_element": "contracts/governance/InitializableGovernable.sol#L2", "id": "79d0ce734dc0dff71f45eec4127b00b9a96f302b448bccb8e53eac5491a7dea4", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/governance/Strategizable.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/governance/Strategizable.sol", "filename_short": "contracts/governance/Strategizable.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/governance/Strategizable.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/governance/Strategizable.sol#L2) allows old versions\n", "first_markdown_element": "contracts/governance/Strategizable.sol#L2", "id": "6704e69d816d659695f9dff4ba63d12478df83cf402a95906fe4d0a8e3030a3f", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/harvest/BaseHarvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/BaseHarvester.sol", "filename_short": "contracts/harvest/BaseHarvester.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/harvest/BaseHarvester.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/harvest/BaseHarvester.sol#L2) allows old versions\n", "first_markdown_element": "contracts/harvest/BaseHarvester.sol#L2", "id": "a5124e066b2fbb7dd1e955b4fcd2beacad6be21123061eceed403b4726a7cd41", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/harvest/Dripper.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/Dripper.sol", "filename_short": "contracts/harvest/Dripper.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/harvest/Dripper.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/harvest/Dripper.sol#L2) allows old versions\n", "first_markdown_element": "contracts/harvest/Dripper.sol#L2", "id": "1140b3378dbcf85f848dd3593f6db455b81de599993575647a78a8e9e16d7e86", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/harvest/Harvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/Harvester.sol", "filename_short": "contracts/harvest/Harvester.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/harvest/Harvester.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/harvest/Harvester.sol#L2) allows old versions\n", "first_markdown_element": "contracts/harvest/Harvester.sol#L2", "id": "9da9505bab8b0fd00e20e6db4a6fead1534b69d28987dc31631a69876e522cbc", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/harvest/OETHDripper.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/OETHDripper.sol", "filename_short": "contracts/harvest/OETHDripper.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/harvest/OETHDripper.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/harvest/OETHDripper.sol#L2) allows old versions\n", "first_markdown_element": "contracts/harvest/OETHDripper.sol#L2", "id": "9868f31eabf1e720593a50a20e5bb824dd11b311d005285c616a0002edba9f6e", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/harvest/OETHHarvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/harvest/OETHHarvester.sol", "filename_short": "contracts/harvest/OETHHarvester.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/harvest/OETHHarvester.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/harvest/OETHHarvester.sol#L2) allows old versions\n", "first_markdown_element": "contracts/harvest/OETHHarvester.sol#L2", "id": "3a3adb7c5e90ad98fb80214a4f7844cffc76e3b15d6c0af1a826625357bb071a", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/interfaces/IBasicToken.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/IBasicToken.sol", "filename_short": "contracts/interfaces/IBasicToken.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/IBasicToken.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/IBasicToken.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/IBasicToken.sol#L2", "id": "94bff6382b90ad3924c0066cfd097d81ac291208d0369684cb54afe8658dabba", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/interfaces/IBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/IBuyback.sol", "filename_short": "contracts/interfaces/IBuyback.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/IBuyback.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/IBuyback.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/IBuyback.sol#L2", "id": "185bc9860851ec47e3d7ad04b7f00dca9776de2b9dd4d9fe036240034b795bfd", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/interfaces/IComptroller.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/IComptroller.sol", "filename_short": "contracts/interfaces/IComptroller.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/IComptroller.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/IComptroller.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/IComptroller.sol#L2", "id": "a0c1bfd5ca31ee3e23316e502e3ef04bf450325444d5445aff16c409cb4fc156", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/interfaces/IEthUsdOracle.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/IEthUsdOracle.sol", "filename_short": "contracts/interfaces/IEthUsdOracle.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/IEthUsdOracle.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/IEthUsdOracle.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/IEthUsdOracle.sol#L2", "id": "272e660a7ba45f6a97e0c83762294ab6e2cf4d00cbceda6120b5d8672a34489e", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/interfaces/IFraxETHMinter.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/IFraxETHMinter.sol", "filename_short": "contracts/interfaces/IFraxETHMinter.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/IFraxETHMinter.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/IFraxETHMinter.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/IFraxETHMinter.sol#L2", "id": "9a001f820d4bcc8f8cc237c99569448b23551b10274194dc40cdf0fb6dc674ff", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 0, "length": 23, "filename_relative": "contracts/interfaces/IGetExchangeRateToken.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/IGetExchangeRateToken.sol", "filename_short": "contracts/interfaces/IGetExchangeRateToken.sol", "is_dependency": false, "lines": [1], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/IGetExchangeRateToken.sol#1) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/IGetExchangeRateToken.sol#L1) allows old versions\n", "first_markdown_element": "contracts/interfaces/IGetExchangeRateToken.sol#L1", "id": "d40ef5adf85becbae2a11790f9e20e51d1a263c96199ebf02bb2f573909a129e", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/interfaces/IHarvester.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/IHarvester.sol", "filename_short": "contracts/interfaces/IHarvester.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/IHarvester.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/IHarvester.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/IHarvester.sol#L2", "id": "03c1e790b44ea5d7724d4ef7f0f2a546854105ff2368688bcefa16d3acacfddf", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/interfaces/IMinMaxOracle.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/IMinMaxOracle.sol", "filename_short": "contracts/interfaces/IMinMaxOracle.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/IMinMaxOracle.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/IMinMaxOracle.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/IMinMaxOracle.sol#L2", "id": "c2690b6bd4695286c86c5a3bd76986a663dca50c509ccf6ee859eccca2c7dc4d", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 0, "length": 23, "filename_relative": "contracts/interfaces/IOUSD.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/IOUSD.sol", "filename_short": "contracts/interfaces/IOUSD.sol", "is_dependency": false, "lines": [1], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/IOUSD.sol#1) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/IOUSD.sol#L1) allows old versions\n", "first_markdown_element": "contracts/interfaces/IOUSD.sol#L1", "id": "3853d01e8691288aa7cdbaa59886ee68e2413ccd489d898d83b2e49b4a1ddc23", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/interfaces/IOneInch.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/IOneInch.sol", "filename_short": "contracts/interfaces/IOneInch.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/IOneInch.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/IOneInch.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/IOneInch.sol#L2", "id": "e352c191d5ada9b352c135cde4fc6e19e45f1570610a939fe8633c71effdd36c", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/interfaces/IOracle.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/IOracle.sol", "filename_short": "contracts/interfaces/IOracle.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/IOracle.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/IOracle.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/IOracle.sol#L2", "id": "a4d7c9eafef08e42e6544dd4019cf9efe7f51c00050c35eb8c7cc462a5834952", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/interfaces/IPriceOracle.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/IPriceOracle.sol", "filename_short": "contracts/interfaces/IPriceOracle.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/IPriceOracle.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/IPriceOracle.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/IPriceOracle.sol#L2", "id": "ee7fa68441e218913764ed19aac4e5f2cf7278f785e7b33a65296ad6480202c1", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/interfaces/IRETH.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/IRETH.sol", "filename_short": "contracts/interfaces/IRETH.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/IRETH.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/IRETH.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/IRETH.sol#L2", "id": "5b1c6810abf706d2048174e3575be705a290708609ae849578f62744b17fd4f8", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/interfaces/ISfrxETH.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/ISfrxETH.sol", "filename_short": "contracts/interfaces/ISfrxETH.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/ISfrxETH.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/ISfrxETH.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/ISfrxETH.sol#L2", "id": "13e6b32cc8e9a01dc045d8cb5e1aee7fa29068785bd03dfbb1d63b0587431ec1", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/interfaces/IStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/IStrategy.sol", "filename_short": "contracts/interfaces/IStrategy.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/IStrategy.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/IStrategy.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/IStrategy.sol#L2", "id": "525cec582bcb9c733e3300d58ff77ebd629cf4d89a52fa0fe61d13f65c353a26", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 0, "length": 23, "filename_relative": "contracts/interfaces/ISwapper.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/ISwapper.sol", "filename_short": "contracts/interfaces/ISwapper.sol", "is_dependency": false, "lines": [1], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/ISwapper.sol#1) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/ISwapper.sol#L1) allows old versions\n", "first_markdown_element": "contracts/interfaces/ISwapper.sol#L1", "id": "0fec87f800d6723dd3d7de1770cc3be977e891e5b5fc4addf73063ff67c89925", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 0, "length": 23, "filename_relative": "contracts/interfaces/ITimelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/ITimelock.sol", "filename_short": "contracts/interfaces/ITimelock.sol", "is_dependency": false, "lines": [1], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/ITimelock.sol#1) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/ITimelock.sol#L1) allows old versions\n", "first_markdown_element": "contracts/interfaces/ITimelock.sol#L1", "id": "4475b124b600f3a464049046512f274d7d487f5569d04b0d0c8896a5148bc47f", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/interfaces/IVault.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/IVault.sol", "filename_short": "contracts/interfaces/IVault.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/IVault.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/IVault.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/IVault.sol#L2", "id": "17d8cdfc74b00a04ec29c0f955fcb435e6cea0762362480e26698d7dade395b8", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/interfaces/IWETH9.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/IWETH9.sol", "filename_short": "contracts/interfaces/IWETH9.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/IWETH9.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/IWETH9.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/IWETH9.sol#L2", "id": "fe92400d6c1a3a9d73cdad69563291319f87d651a109ea6ae2beabb7ce0257df", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/interfaces/IWstETH.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/IWstETH.sol", "filename_short": "contracts/interfaces/IWstETH.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/IWstETH.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/IWstETH.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/IWstETH.sol#L2", "id": "c5904f6311ae3dc0bc00d39c836d70c764336a6ee29b70c304c77c88bc0a33c2", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/interfaces/Tether.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/Tether.sol", "filename_short": "contracts/interfaces/Tether.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/Tether.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/Tether.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/Tether.sol#L2", "id": "a844a7c861e5d4669cae48ad216d93b53f055ecb38cb7e03df7bbebe4807598f", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/interfaces/UniswapV3Router.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/UniswapV3Router.sol", "filename_short": "contracts/interfaces/UniswapV3Router.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/UniswapV3Router.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/UniswapV3Router.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/UniswapV3Router.sol#L2", "id": "d998828992bf95d52edab99b51a8815ddfe7f3162d2f9d1803480d10c4d7ec75", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/interfaces/balancer/IBalancerVault.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/balancer/IBalancerVault.sol", "filename_short": "contracts/interfaces/balancer/IBalancerVault.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/balancer/IBalancerVault.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/balancer/IBalancerVault.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/balancer/IBalancerVault.sol#L2", "id": "cdc4df825083a60dad418af5da34b0a1ec66633977db1a83c207f24c4bd63695", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/interfaces/balancer/IMetaStablePool.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/balancer/IMetaStablePool.sol", "filename_short": "contracts/interfaces/balancer/IMetaStablePool.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/balancer/IMetaStablePool.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/balancer/IMetaStablePool.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/balancer/IMetaStablePool.sol#L2", "id": "21c15fd4f5fde0afd4976aeba6c1deac5c4fbd35dc65d80072398480ac362567", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 688, "length": 23, "filename_relative": "contracts/interfaces/balancer/IRateProvider.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/balancer/IRateProvider.sol", "filename_short": "contracts/interfaces/balancer/IRateProvider.sol", "is_dependency": false, "lines": [15], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/balancer/IRateProvider.sol#15) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/balancer/IRateProvider.sol#L15) allows old versions\n", "first_markdown_element": "contracts/interfaces/balancer/IRateProvider.sol#L15", "id": "a0200a0094ccd65b05e62909b5fb57759e74fd67119ad883a12d88b5d212a337", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/interfaces/chainlink/AggregatorV3Interface.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/chainlink/AggregatorV3Interface.sol", "filename_short": "contracts/interfaces/chainlink/AggregatorV3Interface.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/chainlink/AggregatorV3Interface.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/chainlink/AggregatorV3Interface.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/chainlink/AggregatorV3Interface.sol#L2", "id": "bc2ed3a6e692a07531fedf75dcd82f2e3779a5b53516d2e1624c85b32b4e820a", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 39, "length": 23, "filename_relative": "contracts/interfaces/morpho/ILens.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/morpho/ILens.sol", "filename_short": "contracts/interfaces/morpho/ILens.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/morpho/ILens.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/morpho/ILens.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/morpho/ILens.sol#L2", "id": "788b8c236da191737cf5aa9e818a9211e81393c2f3d1e9ff13f3f1212474ce4c", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 39, "length": 23, "filename_relative": "contracts/interfaces/morpho/IMorpho.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/morpho/IMorpho.sol", "filename_short": "contracts/interfaces/morpho/IMorpho.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/morpho/IMorpho.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/morpho/IMorpho.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/morpho/IMorpho.sol#L2", "id": "45909fd8b83fa9fe6a683644183358818f916d3da4ca7fe7118156a2eea13da1", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 39, "length": 23, "filename_relative": "contracts/interfaces/morpho/Types.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/morpho/Types.sol", "filename_short": "contracts/interfaces/morpho/Types.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/morpho/Types.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/morpho/Types.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/morpho/Types.sol#L2", "id": "87f2050fdffd7c5fcf5d0654ad19df383bf596df78181862f3ce6f9b683fc560", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 39, "length": 23, "filename_relative": "contracts/interfaces/morpho/compound/ICompoundOracle.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/morpho/compound/ICompoundOracle.sol", "filename_short": "contracts/interfaces/morpho/compound/ICompoundOracle.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/morpho/compound/ICompoundOracle.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/morpho/compound/ICompoundOracle.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/morpho/compound/ICompoundOracle.sol#L2", "id": "76d014d0be4fa6cf1f9a4b64ad201ec259fbf01a6eefb98db5f61fb514c224c5", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/interfaces/uniswap/IUniswapV2Pair.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/uniswap/IUniswapV2Pair.sol", "filename_short": "contracts/interfaces/uniswap/IUniswapV2Pair.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/uniswap/IUniswapV2Pair.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/uniswap/IUniswapV2Pair.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/uniswap/IUniswapV2Pair.sol#L2", "id": "b1c5a3bbf566b0e621c50e7ba4220664bd1e54da43fad71dbc938a5eded7f2c2", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/interfaces/uniswap/IUniswapV2Router02.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/uniswap/IUniswapV2Router02.sol", "filename_short": "contracts/interfaces/uniswap/IUniswapV2Router02.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/uniswap/IUniswapV2Router02.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/uniswap/IUniswapV2Router02.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/uniswap/IUniswapV2Router02.sol#L2", "id": "ad47007ddc5c67344d81dc344b49bf500ecc26e3135bd77a62fde43bd7c7b7dd", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/liquidity/LiquidityReward.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/liquidity/LiquidityReward.sol", "filename_short": "contracts/liquidity/LiquidityReward.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/liquidity/LiquidityReward.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/liquidity/LiquidityReward.sol#L2) allows old versions\n", "first_markdown_element": "contracts/liquidity/LiquidityReward.sol#L2", "id": "af43855351ffe0839a4022c9ace8a3c16d22dc86d07d1d2757ecf6f7dbee0bd7", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/oracle/OracleRouter.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/oracle/OracleRouter.sol", "filename_short": "contracts/oracle/OracleRouter.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/oracle/OracleRouter.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/oracle/OracleRouter.sol#L2) allows old versions\n", "first_markdown_element": "contracts/oracle/OracleRouter.sol#L2", "id": "51334591a78dd22a137807b4acc53389925f973033124c5930c642a302ba29b0", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#L2) allows old versions\n", "first_markdown_element": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#L2", "id": "4c766eb1c2e89d40beed9275537ff433a6045d434cdfc1b437e6fc4acc2856b9", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/proxies/Proxies.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/Proxies.sol", "filename_short": "contracts/proxies/Proxies.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/proxies/Proxies.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/proxies/Proxies.sol#L2) allows old versions\n", "first_markdown_element": "contracts/proxies/Proxies.sol#L2", "id": "54449952b8d4d7f912b7edd63a4d5f250415aca230353b6f0c2436fd08bab7c4", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/staking/SingleAssetStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/staking/SingleAssetStaking.sol", "filename_short": "contracts/staking/SingleAssetStaking.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/staking/SingleAssetStaking.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/staking/SingleAssetStaking.sol#L2) allows old versions\n", "first_markdown_element": "contracts/staking/SingleAssetStaking.sol#L2", "id": "0d9b9be73b171a1f5847e5df0adf23a9896dd80d43e0f466a74a13d345d8a91e", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/AaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/AaveStrategy.sol", "filename_short": "contracts/strategies/AaveStrategy.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/AaveStrategy.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/AaveStrategy.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/AaveStrategy.sol#L2", "id": "4b6bd9fd37caf2805f5c155743471e5190c0d3c67a058c887282f845b01fbd3c", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/BaseCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/BaseCompoundStrategy.sol", "filename_short": "contracts/strategies/BaseCompoundStrategy.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/BaseCompoundStrategy.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/BaseCompoundStrategy.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/BaseCompoundStrategy.sol#L2", "id": "ffb011aa0e9b47c467913e4c84522cce51b070125b4d896dd3573a9a7ef2d180", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/BaseConvexMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/BaseConvexMetaStrategy.sol", "filename_short": "contracts/strategies/BaseConvexMetaStrategy.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/BaseConvexMetaStrategy.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/BaseConvexMetaStrategy.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/BaseConvexMetaStrategy.sol#L2", "id": "83428776089a6ca8806eb19a4738ab918e43169a57b4e961f748db3bd1950a43", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/BaseCurveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/BaseCurveStrategy.sol", "filename_short": "contracts/strategies/BaseCurveStrategy.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/BaseCurveStrategy.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/BaseCurveStrategy.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/BaseCurveStrategy.sol#L2", "id": "d2a54684ab02a9305bab0d6c3424e84d8370c96874128ca7e5a41660bc8f06fc", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/CompoundStrategy.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/CompoundStrategy.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/CompoundStrategy.sol#L2", "id": "92a7098362a42f7f87c42e9d955c08eb71aa98a0d92611ed508d73c3118fa022", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/ConvexEthMetaStrategy.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/ConvexEthMetaStrategy.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/ConvexEthMetaStrategy.sol#L2", "id": "7edb20db5c0200c2bd05a4366895fdf37f10cd1d2bb0d695908c07e9c837b848", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/ConvexGeneralizedMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexGeneralizedMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexGeneralizedMetaStrategy.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/ConvexGeneralizedMetaStrategy.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/ConvexGeneralizedMetaStrategy.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/ConvexGeneralizedMetaStrategy.sol#L2", "id": "5fa480122d27055b8ec676e247738324933e9773ab3abda6f51098e1daeeec04", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/ConvexOUSDMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexOUSDMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexOUSDMetaStrategy.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/ConvexOUSDMetaStrategy.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/ConvexOUSDMetaStrategy.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/ConvexOUSDMetaStrategy.sol#L2", "id": "ac6a57a349bf50561c41daec54512d189e8ce8f2e71080e3bc8ffe87dd163260", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/ConvexStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexStrategy.sol", "filename_short": "contracts/strategies/ConvexStrategy.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/ConvexStrategy.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/ConvexStrategy.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/ConvexStrategy.sol#L2", "id": "897cc29611993f610e5dc9875acb6ad1998d16d5db80ef87cb24be58fe75fed6", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/FluxStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/FluxStrategy.sol", "filename_short": "contracts/strategies/FluxStrategy.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/FluxStrategy.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/FluxStrategy.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/FluxStrategy.sol#L2", "id": "393fbd06405ca3131afb6417a96cbe43833001f958740775dec3a1592922d214", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/FraxETHStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/FraxETHStrategy.sol", "filename_short": "contracts/strategies/FraxETHStrategy.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/FraxETHStrategy.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/FraxETHStrategy.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/FraxETHStrategy.sol#L2", "id": "8ef2be5e3d56be6f3c3457596407a8fe5c07c5950a462c145e1ebed8a11c9994", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/Generalized4626Strategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/Generalized4626Strategy.sol", "filename_short": "contracts/strategies/Generalized4626Strategy.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/Generalized4626Strategy.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/Generalized4626Strategy.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/Generalized4626Strategy.sol#L2", "id": "2a08a0f02b99768b50a70e61fa311b9a27abdbe4d3123dac80ce0a92a573621e", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/IAave.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/IAave.sol", "filename_short": "contracts/strategies/IAave.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/IAave.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/IAave.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/IAave.sol#L2", "id": "03d09f76f6327ec3e00462e72f330bc5b7b74c4c76dd86178740bae9b58213df", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/IAaveIncentivesController.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/IAaveIncentivesController.sol", "filename_short": "contracts/strategies/IAaveIncentivesController.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/IAaveIncentivesController.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/IAaveIncentivesController.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/IAaveIncentivesController.sol#L2", "id": "021193b4603c0ed5ac062858b53e3888ceb0c79df1cc0b782fafd97a6197c153", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/IAaveStakeToken.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/IAaveStakeToken.sol", "filename_short": "contracts/strategies/IAaveStakeToken.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/IAaveStakeToken.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/IAaveStakeToken.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/IAaveStakeToken.sol#L2", "id": "51aed3d5dcdcf77b6106f36ac622c82acef7e0d7ff7892b311e1adc4bbb0edc7", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/ICRVMinter.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ICRVMinter.sol", "filename_short": "contracts/strategies/ICRVMinter.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/ICRVMinter.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/ICRVMinter.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/ICRVMinter.sol#L2", "id": "c1e0e830ba7445a95b4c566d6ec67217c2d6b9749ead120e45b1ebf8015c8bc4", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/ICompound.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ICompound.sol", "filename_short": "contracts/strategies/ICompound.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/ICompound.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/ICompound.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/ICompound.sol#L2", "id": "ddba7df5322db75d195376ffb9e85ab8e56d1c7c52815188d440127a56fd9745", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/IConvexDeposits.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/IConvexDeposits.sol", "filename_short": "contracts/strategies/IConvexDeposits.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/IConvexDeposits.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/IConvexDeposits.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/IConvexDeposits.sol#L2", "id": "bd18c560914c2915ea918e64268f9d1d198f7ccf10dd56022daaac37648414e1", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/ICurveETHPoolV1.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ICurveETHPoolV1.sol", "filename_short": "contracts/strategies/ICurveETHPoolV1.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/ICurveETHPoolV1.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/ICurveETHPoolV1.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/ICurveETHPoolV1.sol#L2", "id": "87f73a3e8426ca53be7f43f25aef20229cd70ff8b3959b7f179297693c5de12f", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/ICurveGauge.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ICurveGauge.sol", "filename_short": "contracts/strategies/ICurveGauge.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/ICurveGauge.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/ICurveGauge.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/ICurveGauge.sol#L2", "id": "238b46b151a29be97e64f11d9fe1618d42b47fe81401a8cdcc641adba9ebc20e", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.4", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/ICurveMetaPool.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ICurveMetaPool.sol", "filename_short": "contracts/strategies/ICurveMetaPool.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".4"]}}], "description": "Pragma version^0.8.4 (contracts/strategies/ICurveMetaPool.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.4](contracts/strategies/ICurveMetaPool.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/ICurveMetaPool.sol#L2", "id": "7c55a7fd5852f4820ced907ab1a5d0cd97dfe970237e22a8ce7d08c37f23bd74", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/ICurvePool.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ICurvePool.sol", "filename_short": "contracts/strategies/ICurvePool.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/ICurvePool.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/ICurvePool.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/ICurvePool.sol#L2", "id": "f757494eaef356ad0c81503b9251f6301b88a90c82132045d49aaad9905f3f93", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/IRewardStaking.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/IRewardStaking.sol", "filename_short": "contracts/strategies/IRewardStaking.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/IRewardStaking.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/IRewardStaking.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/IRewardStaking.sol#L2", "id": "9f4345a2ad09e15353a5110b5f623427acaef0955ffa86e0566554f27c6888fe", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/MorphoAaveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoAaveStrategy.sol", "filename_short": "contracts/strategies/MorphoAaveStrategy.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/MorphoAaveStrategy.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/MorphoAaveStrategy.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/MorphoAaveStrategy.sol#L2", "id": "093a7824790924e30487939ec460262253829141fddcf00da32cf96c270de1e1", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/MorphoCompoundStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/MorphoCompoundStrategy.sol", "filename_short": "contracts/strategies/MorphoCompoundStrategy.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/MorphoCompoundStrategy.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/MorphoCompoundStrategy.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/MorphoCompoundStrategy.sol#L2", "id": "8db8fc20ef33347d2f01428f1313b44970fa01ceb2a5b5077ee12535f3cc74cd", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/ThreePoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ThreePoolStrategy.sol", "filename_short": "contracts/strategies/ThreePoolStrategy.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/ThreePoolStrategy.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/ThreePoolStrategy.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/ThreePoolStrategy.sol#L2", "id": "2c01ceb3c023f424da1ce7aad8d10035e4e03ef67f4043df9a0756dee97d0ae5", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/VaultValueChecker.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/VaultValueChecker.sol", "filename_short": "contracts/strategies/VaultValueChecker.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/VaultValueChecker.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/VaultValueChecker.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/VaultValueChecker.sol#L2", "id": "f0e49630796934edda0580f937847757b9f78dfd24164ef52ff32d0624f92cbf", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L2", "id": "96a4f714939f6ce445a212a2c1e8cf2337907993803525b501c6e4c568b2290a", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/balancer/BaseAuraStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BaseAuraStrategy.sol", "filename_short": "contracts/strategies/balancer/BaseAuraStrategy.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/balancer/BaseAuraStrategy.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/balancer/BaseAuraStrategy.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/balancer/BaseAuraStrategy.sol#L2", "id": "f74abab019eaf77a854245706492d983f7f3b8c74afb17987914e021ce4e7857", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BaseBalancerStrategy.sol", "filename_short": "contracts/strategies/balancer/BaseBalancerStrategy.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/strategies/balancer/BaseBalancerStrategy.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/strategies/balancer/BaseBalancerStrategy.sol#L2) allows old versions\n", "first_markdown_element": "contracts/strategies/balancer/BaseBalancerStrategy.sol#L2", "id": "35dd7da8ef2b42cd69590a715e37e95b1d6264518801e2b112e605aaaf0e0dc1", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": ">=0.7.0<0.9.0", "source_mapping": {"start": 688, "length": 31, "filename_relative": "contracts/strategies/balancer/VaultReentrancyLib.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/VaultReentrancyLib.sol", "filename_short": "contracts/strategies/balancer/VaultReentrancyLib.sol", "is_dependency": false, "lines": [15], "starting_column": 1, "ending_column": 32}, "type_specific_fields": {"directive": ["solidity", ">=", "0.7", ".0", "<", "0.9", ".0"]}}], "description": "Pragma version>=0.7.0<0.9.0 (contracts/strategies/balancer/VaultReentrancyLib.sol#15) is too complex\n", "markdown": "Pragma version[>=0.7.0<0.9.0](contracts/strategies/balancer/VaultReentrancyLib.sol#L15) is too complex\n", "first_markdown_element": "contracts/strategies/balancer/VaultReentrancyLib.sol#L15", "id": "6580f38da1aa240fb5b3862439e748ea499bd72ee055940f18478a7c52715b0e", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/swapper/Swapper1InchV5.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/swapper/Swapper1InchV5.sol", "filename_short": "contracts/swapper/Swapper1InchV5.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/swapper/Swapper1InchV5.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/swapper/Swapper1InchV5.sol#L2) allows old versions\n", "first_markdown_element": "contracts/swapper/Swapper1InchV5.sol#L2", "id": "a4c33b5af6d7e7fe16f2ced5aa2b62c83a02c59f7473bf8ed321f7a47673c1ff", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/timelock/Timelock.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/timelock/Timelock.sol#L2) allows old versions\n", "first_markdown_element": "contracts/timelock/Timelock.sol#L2", "id": "d28fc27cadb50f2a9adcbf2679eefb86dc31b472d1f1f52197fd3b627cfe9009", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/token/OETH.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/token/OETH.sol", "filename_short": "contracts/token/OETH.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/token/OETH.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/token/OETH.sol#L2) allows old versions\n", "first_markdown_element": "contracts/token/OETH.sol#L2", "id": "0c536785d47453c3e04de56ec0b68c6a1615dccdc19a62e2c85682e2a8f7c7d5", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/token/OUSD.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/token/OUSD.sol#L2) allows old versions\n", "first_markdown_element": "contracts/token/OUSD.sol#L2", "id": "4c28a6c60c940b0c929b0752f10fc43d2c0da77f4294e3d9a3a7284d9d82299a", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/token/WOETH.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/token/WOETH.sol", "filename_short": "contracts/token/WOETH.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/token/WOETH.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/token/WOETH.sol#L2) allows old versions\n", "first_markdown_element": "contracts/token/WOETH.sol#L2", "id": "17861c958de8b62ca693a620b8acfdfa2d1bd58c2f5784a862e1b7547303e94d", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/token/WrappedOusd.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/token/WrappedOusd.sol", "filename_short": "contracts/token/WrappedOusd.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/token/WrappedOusd.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/token/WrappedOusd.sol#L2) allows old versions\n", "first_markdown_element": "contracts/token/WrappedOusd.sol#L2", "id": "3e4418ef1bc9e338a5aeb1cfa883886f37ab4e0da2435bd3b234ba49d317e730", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": ">=0.7.4<0.9.0", "source_mapping": {"start": 688, "length": 31, "filename_relative": "contracts/utils/BalancerErrors.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/utils/BalancerErrors.sol", "filename_short": "contracts/utils/BalancerErrors.sol", "is_dependency": false, "lines": [15], "starting_column": 1, "ending_column": 32}, "type_specific_fields": {"directive": ["solidity", ">=", "0.7", ".4", "<", "0.9", ".0"]}}], "description": "Pragma version>=0.7.4<0.9.0 (contracts/utils/BalancerErrors.sol#15) is too complex\n", "markdown": "Pragma version[>=0.7.4<0.9.0](contracts/utils/BalancerErrors.sol#L15) is too complex\n", "first_markdown_element": "contracts/utils/BalancerErrors.sol#L15", "id": "70df7857ac9891aa8cf53e027c04023696b0ad1f76d554b9977078967ae979a3", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/utils/Helpers.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/utils/Helpers.sol", "filename_short": "contracts/utils/Helpers.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/utils/Helpers.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/utils/Helpers.sol#L2) allows old versions\n", "first_markdown_element": "contracts/utils/Helpers.sol#L2", "id": "86623102155b1f075f6ea2dd0ddac7ed6b2d3b622cb613deefb6c97e2a0be030", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/utils/Initializable.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/utils/Initializable.sol", "filename_short": "contracts/utils/Initializable.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/utils/Initializable.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/utils/Initializable.sol#L2) allows old versions\n", "first_markdown_element": "contracts/utils/Initializable.sol#L2", "id": "1b5144dca22360d396579ab156ffa691cbf0ed4e22bf3c00ee10fabf9703e062", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/utils/InitializableAbstractStrategy.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/utils/InitializableAbstractStrategy.sol#L2) allows old versions\n", "first_markdown_element": "contracts/utils/InitializableAbstractStrategy.sol#L2", "id": "e4ba9f8308fcf868334ea35ea0011b4dc5065ea98e8e2f866b6663636a34133c", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/utils/InitializableERC20Detailed.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/utils/InitializableERC20Detailed.sol", "filename_short": "contracts/utils/InitializableERC20Detailed.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/utils/InitializableERC20Detailed.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/utils/InitializableERC20Detailed.sol#L2) allows old versions\n", "first_markdown_element": "contracts/utils/InitializableERC20Detailed.sol#L2", "id": "cc3087c4f9d79aeb7b09b5af0de7a2c21f568639180749dfae8282cc230769ac", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/vault/OETHVault.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHVault.sol", "filename_short": "contracts/vault/OETHVault.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/vault/OETHVault.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/vault/OETHVault.sol#L2) allows old versions\n", "first_markdown_element": "contracts/vault/OETHVault.sol#L2", "id": "604949a689d5c3b2ab20fb9cd6b7310f14ac7bd713bc96e0db26d320a9eb864d", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/vault/OETHVaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHVaultAdmin.sol", "filename_short": "contracts/vault/OETHVaultAdmin.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/vault/OETHVaultAdmin.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/vault/OETHVaultAdmin.sol#L2) allows old versions\n", "first_markdown_element": "contracts/vault/OETHVaultAdmin.sol#L2", "id": "52063d9c11ce856aae9c6be5a5bac5eb2aa90d6adb13982fc7a8eba2ebae9a76", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/vault/OETHVaultCore.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHVaultCore.sol", "filename_short": "contracts/vault/OETHVaultCore.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/vault/OETHVaultCore.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/vault/OETHVaultCore.sol#L2) allows old versions\n", "first_markdown_element": "contracts/vault/OETHVaultCore.sol#L2", "id": "61a2f9dd5eda9e2116a60248dcfec34b77e86aa3f21e921ac302464213dee3b3", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/vault/OETHZapper.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/vault/OETHZapper.sol#L2) allows old versions\n", "first_markdown_element": "contracts/vault/OETHZapper.sol#L2", "id": "147adfb2889187ec2a27af28deae1179c4fbdbdcf42e2d98832947d7a6daa618", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/vault/Vault.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/Vault.sol", "filename_short": "contracts/vault/Vault.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/vault/Vault.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/vault/Vault.sol#L2) allows old versions\n", "first_markdown_element": "contracts/vault/Vault.sol#L2", "id": "9a51591a30b72d5cd9296be4fbbb7b829de2b26331556dd05fb210fce4ce90d8", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/vault/VaultAdmin.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/vault/VaultAdmin.sol#L2) allows old versions\n", "first_markdown_element": "contracts/vault/VaultAdmin.sol#L2", "id": "af09cf9a6cd593314e07a4a02c9fda9d86de52506100b576110e312776e508d3", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/vault/VaultCore.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/vault/VaultCore.sol#L2) allows old versions\n", "first_markdown_element": "contracts/vault/VaultCore.sol#L2", "id": "c6f1fe952b98499175623c21fa73863d0e52ede9adcdb9a0840b62c0ba0f4636", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/vault/VaultStorage.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/vault/VaultStorage.sol#L2) allows old versions\n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L2", "id": "8f3edef86568cc9c580189310994269662f4ded56367af9f91567362f996681f", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": ">=0.4.22<0.9.0", "source_mapping": {"start": 32, "length": 33, "filename_relative": "node_modules/hardhat/console.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/node_modules/hardhat/console.sol", "filename_short": "node_modules/hardhat/console.sol", "is_dependency": true, "lines": [2], "starting_column": 1, "ending_column": 34}, "type_specific_fields": {"directive": ["solidity", ">=", "0.4", ".22", "<", "0.9", ".0"]}}], "description": "Pragma version>=0.4.22<0.9.0 (node_modules/hardhat/console.sol#2) is too complex\n", "markdown": "Pragma version[>=0.4.22<0.9.0](node_modules/hardhat/console.sol#L2) is too complex\n", "first_markdown_element": "node_modules/hardhat/console.sol#L2", "id": "f30cc00866ad4644a058066a785a40fc85920295b639d57c66467131996ae1a5", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [], "description": "solc-0.8.7 is not recommended for deployment\n", "markdown": "solc-0.8.7 is not recommended for deployment\n", "first_markdown_element": "", "id": "7625fc0b76e6d47f90acb00bf7e2271fd51795d3b2a30f085edbbc0db8832c0c", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "initialize", "source_mapping": {"start": 1352, "length": 545, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "InitializeGovernedUpgradeabilityProxy", "source_mapping": {"start": 450, "length": 6294, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [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], "starting_column": 1, "ending_column": 2}}, "signature": "initialize(address,address,bytes)"}}, {"type": "node", "name": "(success) = _logic.delegatecall(_data)", "source_mapping": {"start": 1765, "length": 45, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [46], "starting_column": 13, "ending_column": 58}, "type_specific_fields": {"parent": {"type": "function", "name": "initialize", "source_mapping": {"start": 1352, "length": 545, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "InitializeGovernedUpgradeabilityProxy", "source_mapping": {"start": 450, "length": 6294, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [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], "starting_column": 1, "ending_column": 2}}, "signature": "initialize(address,address,bytes)"}}}}], "description": "Low level call in InitializeGovernedUpgradeabilityProxy.initialize(address,address,bytes) (contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#34-50):\n\t- (success) = _logic.delegatecall(_data) (contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#46)\n", "markdown": "Low level call in [InitializeGovernedUpgradeabilityProxy.initialize(address,address,bytes)](contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#L34-L50):\n\t- [(success) = _logic.delegatecall(_data)](contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#L46)\n", "first_markdown_element": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#L34-L50", "id": "6c5c3cf16cf2b84b5eb1ddd1ec60c27b5513ecedd039521383bf5b583573950a", "check": "low-level-calls", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "upgradeToAndCall", "source_mapping": {"start": 3091, "length": 269, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [84, 85, 86, 87, 88, 89, 90, 91, 92], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "InitializeGovernedUpgradeabilityProxy", "source_mapping": {"start": 450, "length": 6294, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [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], "starting_column": 1, "ending_column": 2}}, "signature": "upgradeToAndCall(address,bytes)"}}, {"type": "node", "name": "(success) = newImplementation.delegatecall(data)", "source_mapping": {"start": 3272, "length": 55, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [90], "starting_column": 9, "ending_column": 64}, "type_specific_fields": {"parent": {"type": "function", "name": "upgradeToAndCall", "source_mapping": {"start": 3091, "length": 269, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [84, 85, 86, 87, 88, 89, 90, 91, 92], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "InitializeGovernedUpgradeabilityProxy", "source_mapping": {"start": 450, "length": 6294, "filename_relative": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "filename_short": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol", "is_dependency": false, "lines": [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], "starting_column": 1, "ending_column": 2}}, "signature": "upgradeToAndCall(address,bytes)"}}}}], "description": "Low level call in InitializeGovernedUpgradeabilityProxy.upgradeToAndCall(address,bytes) (contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#84-92):\n\t- (success) = newImplementation.delegatecall(data) (contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#90)\n", "markdown": "Low level call in [InitializeGovernedUpgradeabilityProxy.upgradeToAndCall(address,bytes)](contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#L84-L92):\n\t- [(success) = newImplementation.delegatecall(data)](contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#L90)\n", "first_markdown_element": "contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#L84-L92", "id": "7f2660b6c4c8a8a08bd4c88bece7832ccd9c9463eef8e34dabd5f732b86d6d47", "check": "low-level-calls", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "ensureNotInVaultContext", "source_mapping": {"start": 2014, "length": 2926, "filename_relative": "contracts/strategies/balancer/VaultReentrancyLib.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/VaultReentrancyLib.sol", "filename_short": "contracts/strategies/balancer/VaultReentrancyLib.sol", "is_dependency": false, "lines": [37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultReentrancyLib", "source_mapping": {"start": 842, "length": 4100, "filename_relative": "contracts/strategies/balancer/VaultReentrancyLib.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/VaultReentrancyLib.sol", "filename_short": "contracts/strategies/balancer/VaultReentrancyLib.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], "starting_column": 1, "ending_column": 2}}, "signature": "ensureNotInVaultContext(IBalancerVault)"}}, {"type": "node", "name": "(revertData) = address(vault).staticcall{gas: 10_000}(abi.encodeWithSelector(vault.manageUserBalance.selector,0))", "source_mapping": {"start": 4718, "length": 153, "filename_relative": "contracts/strategies/balancer/VaultReentrancyLib.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/VaultReentrancyLib.sol", "filename_short": "contracts/strategies/balancer/VaultReentrancyLib.sol", "is_dependency": false, "lines": [78, 79, 80], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "ensureNotInVaultContext", "source_mapping": {"start": 2014, "length": 2926, "filename_relative": "contracts/strategies/balancer/VaultReentrancyLib.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/VaultReentrancyLib.sol", "filename_short": "contracts/strategies/balancer/VaultReentrancyLib.sol", "is_dependency": false, "lines": [37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultReentrancyLib", "source_mapping": {"start": 842, "length": 4100, "filename_relative": "contracts/strategies/balancer/VaultReentrancyLib.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/VaultReentrancyLib.sol", "filename_short": "contracts/strategies/balancer/VaultReentrancyLib.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], "starting_column": 1, "ending_column": 2}}, "signature": "ensureNotInVaultContext(IBalancerVault)"}}}}], "description": "Low level call in VaultReentrancyLib.ensureNotInVaultContext(IBalancerVault) (contracts/strategies/balancer/VaultReentrancyLib.sol#37-83):\n\t- (revertData) = address(vault).staticcall{gas: 10_000}(abi.encodeWithSelector(vault.manageUserBalance.selector,0)) (contracts/strategies/balancer/VaultReentrancyLib.sol#78-80)\n", "markdown": "Low level call in [VaultReentrancyLib.ensureNotInVaultContext(IBalancerVault)](contracts/strategies/balancer/VaultReentrancyLib.sol#L37-L83):\n\t- [(revertData) = address(vault).staticcall{gas: 10_000}(abi.encodeWithSelector(vault.manageUserBalance.selector,0))](contracts/strategies/balancer/VaultReentrancyLib.sol#L78-L80)\n", "first_markdown_element": "contracts/strategies/balancer/VaultReentrancyLib.sol#L37-L83", "id": "98316229491915cc66c956087ac79402c560c3f206de5f6cd847957cb34b9835", "check": "low-level-calls", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "executeTransaction", "source_mapping": {"start": 4611, "length": 1434, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Timelock", "source_mapping": {"start": 298, "length": 6391, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242], "starting_column": 1, "ending_column": 2}}, "signature": "executeTransaction(address,string,bytes,uint256)"}}, {"type": "node", "name": "(success,returnData) = target.call(callData)", "source_mapping": {"start": 5793, "length": 63, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [211], "starting_column": 9, "ending_column": 72}, "type_specific_fields": {"parent": {"type": "function", "name": "executeTransaction", "source_mapping": {"start": 4611, "length": 1434, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Timelock", "source_mapping": {"start": 298, "length": 6391, "filename_relative": "contracts/timelock/Timelock.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/timelock/Timelock.sol", "filename_short": "contracts/timelock/Timelock.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242], "starting_column": 1, "ending_column": 2}}, "signature": "executeTransaction(address,string,bytes,uint256)"}}}}], "description": "Low level call in Timelock.executeTransaction(address,string,bytes,uint256) (contracts/timelock/Timelock.sol#171-220):\n\t- (success,returnData) = target.call(callData) (contracts/timelock/Timelock.sol#211)\n", "markdown": "Low level call in [Timelock.executeTransaction(address,string,bytes,uint256)](contracts/timelock/Timelock.sol#L171-L220):\n\t- [(success,returnData) = target.call(callData)](contracts/timelock/Timelock.sol#L211)\n", "first_markdown_element": "contracts/timelock/Timelock.sol#L171-L220", "id": "fc264625329d03fc92609ac851cf350acd7395286be85f37aa67182242c97b4c", "check": "low-level-calls", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "contract", "name": "Buyback", "source_mapping": {"start": 471, "length": 6795, "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224], "starting_column": 1, "ending_column": 2}}, {"type": "contract", "name": "IBuyback", "source_mapping": {"start": 57, "length": 52, "filename_relative": "contracts/interfaces/IBuyback.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/IBuyback.sol", "filename_short": "contracts/interfaces/IBuyback.sol", "is_dependency": false, "lines": [4, 5, 6], "starting_column": 1, "ending_column": 2}}], "description": "Buyback (contracts/buyback/Buyback.sol#12-224) should inherit from IBuyback (contracts/interfaces/IBuyback.sol#4-6)\n", "markdown": "[Buyback](contracts/buyback/Buyback.sol#L12-L224) should inherit from [IBuyback](contracts/interfaces/IBuyback.sol#L4-L6)\n", "first_markdown_element": "contracts/buyback/Buyback.sol#L12-L224", "id": "888f95b000b702e7d04774c76c9794a92c1e80600b6b7a97ce73c55bcee78fe5", "check": "missing-inheritance", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "contract", "name": "CompensationClaims", "source_mapping": {"start": 1527, "length": 3674, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164], "starting_column": 1, "ending_column": 2}}, {"type": "contract", "name": "IERC20Decimals", "source_mapping": {"start": 5203, "length": 83, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [166, 167, 168], "starting_column": 1, "ending_column": 2}}], "description": "CompensationClaims (contracts/compensation/CompensationClaims.sol#42-164) should inherit from IERC20Decimals (contracts/compensation/CompensationClaims.sol#166-168)\n", "markdown": "[CompensationClaims](contracts/compensation/CompensationClaims.sol#L42-L164) should inherit from [IERC20Decimals](contracts/compensation/CompensationClaims.sol#L166-L168)\n", "first_markdown_element": "contracts/compensation/CompensationClaims.sol#L42-L164", "id": "bb54307d75b10bfbf4bd0c5601ff99f3589c5042d9ed260e9d972572a851db43", "check": "missing-inheritance", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "amountADesired", "source_mapping": {"start": 448, "length": 22, "filename_relative": "contracts/interfaces/uniswap/IUniswapV2Router02.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/uniswap/IUniswapV2Router02.sol", "filename_short": "contracts/interfaces/uniswap/IUniswapV2Router02.sol", "is_dependency": false, "lines": [18], "starting_column": 9, "ending_column": 31}, "type_specific_fields": {"parent": {"type": "function", "name": "addLiquidity", "source_mapping": {"start": 369, "length": 375, "filename_relative": "contracts/interfaces/uniswap/IUniswapV2Router02.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/uniswap/IUniswapV2Router02.sol", "filename_short": "contracts/interfaces/uniswap/IUniswapV2Router02.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30], "starting_column": 5, "ending_column": 11}, "type_specific_fields": {"parent": {"type": "contract", "name": "IUniswapV2Router", "source_mapping": {"start": 57, "length": 689, "filename_relative": "contracts/interfaces/uniswap/IUniswapV2Router02.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/uniswap/IUniswapV2Router02.sol", "filename_short": "contracts/interfaces/uniswap/IUniswapV2Router02.sol", "is_dependency": false, "lines": [4, 5, 6, 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], "starting_column": 1, "ending_column": 2}}, "signature": "addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)"}}}}, {"type": "variable", "name": "amountBDesired", "source_mapping": {"start": 480, "length": 22, "filename_relative": "contracts/interfaces/uniswap/IUniswapV2Router02.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/uniswap/IUniswapV2Router02.sol", "filename_short": "contracts/interfaces/uniswap/IUniswapV2Router02.sol", "is_dependency": false, "lines": [19], "starting_column": 9, "ending_column": 31}, "type_specific_fields": {"parent": {"type": "function", "name": "addLiquidity", "source_mapping": {"start": 369, "length": 375, "filename_relative": "contracts/interfaces/uniswap/IUniswapV2Router02.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/uniswap/IUniswapV2Router02.sol", "filename_short": "contracts/interfaces/uniswap/IUniswapV2Router02.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30], "starting_column": 5, "ending_column": 11}, "type_specific_fields": {"parent": {"type": "contract", "name": "IUniswapV2Router", "source_mapping": {"start": 57, "length": 689, "filename_relative": "contracts/interfaces/uniswap/IUniswapV2Router02.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/uniswap/IUniswapV2Router02.sol", "filename_short": "contracts/interfaces/uniswap/IUniswapV2Router02.sol", "is_dependency": false, "lines": [4, 5, 6, 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], "starting_column": 1, "ending_column": 2}}, "signature": "addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)"}}}}], "description": "Variable IUniswapV2Router.addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256).amountADesired (contracts/interfaces/uniswap/IUniswapV2Router02.sol#18) is too similar to IUniswapV2Router.addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256).amountBDesired (contracts/interfaces/uniswap/IUniswapV2Router02.sol#19)\n", "markdown": "Variable [IUniswapV2Router.addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256).amountADesired](contracts/interfaces/uniswap/IUniswapV2Router02.sol#L18) is too similar to [IUniswapV2Router.addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256).amountBDesired](contracts/interfaces/uniswap/IUniswapV2Router02.sol#L19)\n", "first_markdown_element": "contracts/interfaces/uniswap/IUniswapV2Router02.sol#L18", "id": "ebfb97f25d979455759836fd8e6dfb5873e5f0066fe15708bfbea958a6c97d6c", "check": "similar-names", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "_deprecated_oeth", "source_mapping": {"start": 1691, "length": 32, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.sol", "is_dependency": false, "lines": [40], "starting_column": 5, "ending_column": 37}, "type_specific_fields": {"parent": {"type": "contract", "name": "ConvexEthMetaStrategy", "source_mapping": {"start": 769, "length": 22879, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622], "starting_column": 1, "ending_column": 2}}}}, {"type": "variable", "name": "_deprecated_weth", "source_mapping": {"start": 1779, "length": 32, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.sol", "is_dependency": false, "lines": [42], "starting_column": 5, "ending_column": 37}, "type_specific_fields": {"parent": {"type": "contract", "name": "ConvexEthMetaStrategy", "source_mapping": {"start": 769, "length": 22879, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622], "starting_column": 1, "ending_column": 2}}}}], "description": "Variable ConvexEthMetaStrategy._deprecated_oeth (contracts/strategies/ConvexEthMetaStrategy.sol#40) is too similar to ConvexEthMetaStrategy._deprecated_weth (contracts/strategies/ConvexEthMetaStrategy.sol#42)\n", "markdown": "Variable [ConvexEthMetaStrategy._deprecated_oeth](contracts/strategies/ConvexEthMetaStrategy.sol#L40) is too similar to [ConvexEthMetaStrategy._deprecated_weth](contracts/strategies/ConvexEthMetaStrategy.sol#L42)\n", "first_markdown_element": "contracts/strategies/ConvexEthMetaStrategy.sol#L40", "id": "5b6051eceb5b7aaf0e9cc0f0842f0f90d06cf9f7a22bf02559f4e9e2f3357a34", "check": "similar-names", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "_strategyAmount", "source_mapping": {"start": 6763, "length": 23, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [184], "starting_column": 9, "ending_column": 32}, "type_specific_fields": {"parent": {"type": "function", "name": "withdraw", "source_mapping": {"start": 6676, "length": 441, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BalancerMetaPoolStrategy", "source_mapping": {"start": 708, "length": 21715, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "withdraw(address,address,uint256)"}}}}, {"type": "variable", "name": "strategyAmounts", "source_mapping": {"start": 6904, "length": 51, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [187], "starting_column": 9, "ending_column": 60}, "type_specific_fields": {"parent": {"type": "function", "name": "withdraw", "source_mapping": {"start": 6676, "length": 441, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BalancerMetaPoolStrategy", "source_mapping": {"start": 708, "length": 21715, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "withdraw(address,address,uint256)"}}}}], "description": "Variable BalancerMetaPoolStrategy.withdraw(address,address,uint256)._strategyAmount (contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#184) is too similar to BalancerMetaPoolStrategy.withdraw(address,address,uint256).strategyAmounts (contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#187)\n", "markdown": "Variable [BalancerMetaPoolStrategy.withdraw(address,address,uint256)._strategyAmount](contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L184) is too similar to [BalancerMetaPoolStrategy.withdraw(address,address,uint256).strategyAmounts](contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L187)\n", "first_markdown_element": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L184", "id": "1aed6ded618c44ade473c821a6b9bf134ffc84045f4500d4abe47e6f4fa3b246", "check": "similar-names", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "_strategyAsset", "source_mapping": {"start": 6731, "length": 22, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [183], "starting_column": 9, "ending_column": 31}, "type_specific_fields": {"parent": {"type": "function", "name": "withdraw", "source_mapping": {"start": 6676, "length": 441, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BalancerMetaPoolStrategy", "source_mapping": {"start": 708, "length": 21715, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "withdraw(address,address,uint256)"}}}}, {"type": "variable", "name": "strategyAssets", "source_mapping": {"start": 6844, "length": 50, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [186], "starting_column": 9, "ending_column": 59}, "type_specific_fields": {"parent": {"type": "function", "name": "withdraw", "source_mapping": {"start": 6676, "length": 441, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BalancerMetaPoolStrategy", "source_mapping": {"start": 708, "length": 21715, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "withdraw(address,address,uint256)"}}}}], "description": "Variable BalancerMetaPoolStrategy.withdraw(address,address,uint256)._strategyAsset (contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#183) is too similar to BalancerMetaPoolStrategy.withdraw(address,address,uint256).strategyAssets (contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#186)\n", "markdown": "Variable [BalancerMetaPoolStrategy.withdraw(address,address,uint256)._strategyAsset](contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L183) is too similar to [BalancerMetaPoolStrategy.withdraw(address,address,uint256).strategyAssets](contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L186)\n", "first_markdown_element": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L183", "id": "66361a04820f0b284c38b75c42ab3a0d624fca7ff422827061628fe33a32284a", "check": "similar-names", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "_strategyAmount", "source_mapping": {"start": 6763, "length": 23, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [184], "starting_column": 9, "ending_column": 32}, "type_specific_fields": {"parent": {"type": "function", "name": "withdraw", "source_mapping": {"start": 6676, "length": 441, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BalancerMetaPoolStrategy", "source_mapping": {"start": 708, "length": 21715, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "withdraw(address,address,uint256)"}}}}, {"type": "variable", "name": "strategyAmounts", "source_mapping": {"start": 2151, "length": 62, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [63], "starting_column": 9, "ending_column": 71}, "type_specific_fields": {"parent": {"type": "function", "name": "depositAll", "source_mapping": {"start": 1955, "length": 650, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BalancerMetaPoolStrategy", "source_mapping": {"start": 708, "length": 21715, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "depositAll()"}}}}], "description": "Variable BalancerMetaPoolStrategy.withdraw(address,address,uint256)._strategyAmount (contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#184) is too similar to BalancerMetaPoolStrategy.depositAll().strategyAmounts (contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#63)\n", "markdown": "Variable [BalancerMetaPoolStrategy.withdraw(address,address,uint256)._strategyAmount](contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L184) is too similar to [BalancerMetaPoolStrategy.depositAll().strategyAmounts](contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L63)\n", "first_markdown_element": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L184", "id": "a7546e7a5e19fa58d409f225c94fc62708482c38af8128c515f32d6ba8df35fe", "check": "similar-names", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "_strategyAsset", "source_mapping": {"start": 6731, "length": 22, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [183], "starting_column": 9, "ending_column": 31}, "type_specific_fields": {"parent": {"type": "function", "name": "withdraw", "source_mapping": {"start": 6676, "length": 441, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BalancerMetaPoolStrategy", "source_mapping": {"start": 708, "length": 21715, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "withdraw(address,address,uint256)"}}}}, {"type": "variable", "name": "strategyAssets", "source_mapping": {"start": 2080, "length": 61, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [62], "starting_column": 9, "ending_column": 70}, "type_specific_fields": {"parent": {"type": "function", "name": "depositAll", "source_mapping": {"start": 1955, "length": 650, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BalancerMetaPoolStrategy", "source_mapping": {"start": 708, "length": 21715, "filename_relative": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "filename_short": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "depositAll()"}}}}], "description": "Variable BalancerMetaPoolStrategy.withdraw(address,address,uint256)._strategyAsset (contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#183) is too similar to BalancerMetaPoolStrategy.depositAll().strategyAssets (contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#62)\n", "markdown": "Variable [BalancerMetaPoolStrategy.withdraw(address,address,uint256)._strategyAsset](contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L183) is too similar to [BalancerMetaPoolStrategy.depositAll().strategyAssets](contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L62)\n", "first_markdown_element": "contracts/strategies/balancer/BalancerMetaPoolStrategy.sol#L183", "id": "8d413dbcd056feff7dc7e0cdab6461754f794759a0763231778a50085c6d7beb", "check": "similar-names", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "_minToAssetAmount", "source_mapping": {"start": 2032, "length": 25, "filename_relative": "contracts/swapper/Swapper1InchV5.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/swapper/Swapper1InchV5.sol", "filename_short": "contracts/swapper/Swapper1InchV5.sol", "is_dependency": false, "lines": [44], "starting_column": 9, "ending_column": 34}, "type_specific_fields": {"parent": {"type": "function", "name": "swap", "source_mapping": {"start": 1921, "length": 2324, "filename_relative": "contracts/swapper/Swapper1InchV5.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/swapper/Swapper1InchV5.sol", "filename_short": "contracts/swapper/Swapper1InchV5.sol", "is_dependency": false, "lines": [40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Swapper1InchV5", "source_mapping": {"start": 756, "length": 3993, "filename_relative": "contracts/swapper/Swapper1InchV5.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/swapper/Swapper1InchV5.sol", "filename_short": "contracts/swapper/Swapper1InchV5.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, 99, 100, 101, 102, 103, 104, 105, 106, 107], "starting_column": 1, "ending_column": 2}}, "signature": "swap(address,address,uint256,uint256,bytes)"}}}}, {"type": "variable", "name": "minToAssetAmmount", "source_mapping": {"start": 518, "length": 25, "filename_relative": "contracts/interfaces/ISwapper.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/ISwapper.sol", "filename_short": "contracts/interfaces/ISwapper.sol", "is_dependency": false, "lines": [15], "starting_column": 9, "ending_column": 34}, "type_specific_fields": {"parent": {"type": "function", "name": "swap", "source_mapping": {"start": 410, "length": 210, "filename_relative": "contracts/interfaces/ISwapper.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/ISwapper.sol", "filename_short": "contracts/interfaces/ISwapper.sol", "is_dependency": false, "lines": [11, 12, 13, 14, 15, 16, 17], "starting_column": 5, "ending_column": 48}, "type_specific_fields": {"parent": {"type": "contract", "name": "ISwapper", "source_mapping": {"start": 25, "length": 597, "filename_relative": "contracts/interfaces/ISwapper.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/interfaces/ISwapper.sol", "filename_short": "contracts/interfaces/ISwapper.sol", "is_dependency": false, "lines": [3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18], "starting_column": 1, "ending_column": 2}}, "signature": "swap(address,address,uint256,uint256,bytes)"}}}}], "description": "Variable Swapper1InchV5.swap(address,address,uint256,uint256,bytes)._minToAssetAmount (contracts/swapper/Swapper1InchV5.sol#44) is too similar to ISwapper.swap(address,address,uint256,uint256,bytes).minToAssetAmmount (contracts/interfaces/ISwapper.sol#15)\n", "markdown": "Variable [Swapper1InchV5.swap(address,address,uint256,uint256,bytes)._minToAssetAmount](contracts/swapper/Swapper1InchV5.sol#L44) is too similar to [ISwapper.swap(address,address,uint256,uint256,bytes).minToAssetAmmount](contracts/interfaces/ISwapper.sol#L15)\n", "first_markdown_element": "contracts/swapper/Swapper1InchV5.sol#L44", "id": "eae2949d0e59530d2f242dae886ff3fea97e94f94d3823b068602062a05a241e", "check": "similar-names", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "MAX_SWAP_FEE_PERCENTAGE", "source_mapping": {"start": 6203, "length": 55, "filename_relative": "contracts/utils/BalancerErrors.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/utils/BalancerErrors.sol", "filename_short": "contracts/utils/BalancerErrors.sol", "is_dependency": false, "lines": [143], "starting_column": 5, "ending_column": 60}, "type_specific_fields": {"parent": {"type": "contract", "name": "Errors", "source_mapping": {"start": 5220, "length": 10023, "filename_relative": "contracts/utils/BalancerErrors.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/utils/BalancerErrors.sol", "filename_short": "contracts/utils/BalancerErrors.sol", "is_dependency": false, "lines": [119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305], "starting_column": 1, "ending_column": 2}}}}, {"type": "variable", "name": "MIN_SWAP_FEE_PERCENTAGE", "source_mapping": {"start": 6264, "length": 55, "filename_relative": "contracts/utils/BalancerErrors.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/utils/BalancerErrors.sol", "filename_short": "contracts/utils/BalancerErrors.sol", "is_dependency": false, "lines": [144], "starting_column": 5, "ending_column": 60}, "type_specific_fields": {"parent": {"type": "contract", "name": "Errors", "source_mapping": {"start": 5220, "length": 10023, "filename_relative": "contracts/utils/BalancerErrors.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/utils/BalancerErrors.sol", "filename_short": "contracts/utils/BalancerErrors.sol", "is_dependency": false, "lines": [119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305], "starting_column": 1, "ending_column": 2}}}}], "description": "Variable Errors.MAX_SWAP_FEE_PERCENTAGE (contracts/utils/BalancerErrors.sol#143) is too similar to Errors.MIN_SWAP_FEE_PERCENTAGE (contracts/utils/BalancerErrors.sol#144)\n", "markdown": "Variable [Errors.MAX_SWAP_FEE_PERCENTAGE](contracts/utils/BalancerErrors.sol#L143) is too similar to [Errors.MIN_SWAP_FEE_PERCENTAGE](contracts/utils/BalancerErrors.sol#L144)\n", "first_markdown_element": "contracts/utils/BalancerErrors.sol#L143", "id": "1945ab1040eae7c5129c9ca51251cc5945d27f9feeef4fe3fa3ba6ace5018424", "check": "similar-names", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "SAFE_CAST_VALUE_CANT_FIT_INT256", "source_mapping": {"start": 11645, "length": 63, "filename_relative": "contracts/utils/BalancerErrors.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/utils/BalancerErrors.sol", "filename_short": "contracts/utils/BalancerErrors.sol", "is_dependency": false, "lines": [237], "starting_column": 5, "ending_column": 68}, "type_specific_fields": {"parent": {"type": "contract", "name": "Errors", "source_mapping": {"start": 5220, "length": 10023, "filename_relative": "contracts/utils/BalancerErrors.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/utils/BalancerErrors.sol", "filename_short": "contracts/utils/BalancerErrors.sol", "is_dependency": false, "lines": [119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305], "starting_column": 1, "ending_column": 2}}}}, {"type": "variable", "name": "SAFE_CAST_VALUE_CANT_FIT_UINT64", "source_mapping": {"start": 12870, "length": 63, "filename_relative": "contracts/utils/BalancerErrors.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/utils/BalancerErrors.sol", "filename_short": "contracts/utils/BalancerErrors.sol", "is_dependency": false, "lines": [258], "starting_column": 5, "ending_column": 68}, "type_specific_fields": {"parent": {"type": "contract", "name": "Errors", "source_mapping": {"start": 5220, "length": 10023, "filename_relative": "contracts/utils/BalancerErrors.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/utils/BalancerErrors.sol", "filename_short": "contracts/utils/BalancerErrors.sol", "is_dependency": false, "lines": [119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305], "starting_column": 1, "ending_column": 2}}}}], "description": "Variable Errors.SAFE_CAST_VALUE_CANT_FIT_INT256 (contracts/utils/BalancerErrors.sol#237) is too similar to Errors.SAFE_CAST_VALUE_CANT_FIT_UINT64 (contracts/utils/BalancerErrors.sol#258)\n", "markdown": "Variable [Errors.SAFE_CAST_VALUE_CANT_FIT_INT256](contracts/utils/BalancerErrors.sol#L237) is too similar to [Errors.SAFE_CAST_VALUE_CANT_FIT_UINT64](contracts/utils/BalancerErrors.sol#L258)\n", "first_markdown_element": "contracts/utils/BalancerErrors.sol#L237", "id": "88ac8f4e5576fb97b495077a9436555edd1c567779549108bc61db44fa8fbc76", "check": "similar-names", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "X_OUT_OF_BOUNDS", "source_mapping": {"start": 5543, "length": 45, "filename_relative": "contracts/utils/BalancerErrors.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/utils/BalancerErrors.sol", "filename_short": "contracts/utils/BalancerErrors.sol", "is_dependency": false, "lines": [127], "starting_column": 5, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "contract", "name": "Errors", "source_mapping": {"start": 5220, "length": 10023, "filename_relative": "contracts/utils/BalancerErrors.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/utils/BalancerErrors.sol", "filename_short": "contracts/utils/BalancerErrors.sol", "is_dependency": false, "lines": [119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305], "starting_column": 1, "ending_column": 2}}}}, {"type": "variable", "name": "Y_OUT_OF_BOUNDS", "source_mapping": {"start": 5594, "length": 45, "filename_relative": "contracts/utils/BalancerErrors.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/utils/BalancerErrors.sol", "filename_short": "contracts/utils/BalancerErrors.sol", "is_dependency": false, "lines": [128], "starting_column": 5, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "contract", "name": "Errors", "source_mapping": {"start": 5220, "length": 10023, "filename_relative": "contracts/utils/BalancerErrors.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/utils/BalancerErrors.sol", "filename_short": "contracts/utils/BalancerErrors.sol", "is_dependency": false, "lines": [119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305], "starting_column": 1, "ending_column": 2}}}}], "description": "Variable Errors.X_OUT_OF_BOUNDS (contracts/utils/BalancerErrors.sol#127) is too similar to Errors.Y_OUT_OF_BOUNDS (contracts/utils/BalancerErrors.sol#128)\n", "markdown": "Variable [Errors.X_OUT_OF_BOUNDS](contracts/utils/BalancerErrors.sol#L127) is too similar to [Errors.Y_OUT_OF_BOUNDS](contracts/utils/BalancerErrors.sol#L128)\n", "first_markdown_element": "contracts/utils/BalancerErrors.sol#L127", "id": "f712601ceb4ec174a5c45eca90ac3878faf40c5dc35b8bac76ab1386bc61f748", "check": "similar-names", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "_deprecated_cvxDepositorAddress", "source_mapping": {"start": 1201, "length": 47, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.sol", "is_dependency": false, "lines": [30], "starting_column": 5, "ending_column": 52}, "type_specific_fields": {"parent": {"type": "contract", "name": "ConvexEthMetaStrategy", "source_mapping": {"start": 769, "length": 22879, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622], "starting_column": 1, "ending_column": 2}}}}, {"type": "contract", "name": "ConvexEthMetaStrategy", "source_mapping": {"start": 769, "length": 22879, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622], "starting_column": 1, "ending_column": 2}}], "description": "ConvexEthMetaStrategy._deprecated_cvxDepositorAddress (contracts/strategies/ConvexEthMetaStrategy.sol#30) is never used in ConvexEthMetaStrategy (contracts/strategies/ConvexEthMetaStrategy.sol#20-622)\n", "markdown": "[ConvexEthMetaStrategy._deprecated_cvxDepositorAddress](contracts/strategies/ConvexEthMetaStrategy.sol#L30) is never used in [ConvexEthMetaStrategy](contracts/strategies/ConvexEthMetaStrategy.sol#L20-L622)\n", "first_markdown_element": "contracts/strategies/ConvexEthMetaStrategy.sol#L30", "id": "0327ed03b6138255e7d3ed2dec91360718b9225fdec894e5e2565e2b9dedbd97", "check": "unused-state", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "_deprecated_cvxRewardStaker", "source_mapping": {"start": 1304, "length": 43, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.sol", "is_dependency": false, "lines": [32], "starting_column": 5, "ending_column": 48}, "type_specific_fields": {"parent": {"type": "contract", "name": "ConvexEthMetaStrategy", "source_mapping": {"start": 769, "length": 22879, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622], "starting_column": 1, "ending_column": 2}}}}, {"type": "contract", "name": "ConvexEthMetaStrategy", "source_mapping": {"start": 769, "length": 22879, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622], "starting_column": 1, "ending_column": 2}}], "description": "ConvexEthMetaStrategy._deprecated_cvxRewardStaker (contracts/strategies/ConvexEthMetaStrategy.sol#32) is never used in ConvexEthMetaStrategy (contracts/strategies/ConvexEthMetaStrategy.sol#20-622)\n", "markdown": "[ConvexEthMetaStrategy._deprecated_cvxRewardStaker](contracts/strategies/ConvexEthMetaStrategy.sol#L32) is never used in [ConvexEthMetaStrategy](contracts/strategies/ConvexEthMetaStrategy.sol#L20-L622)\n", "first_markdown_element": "contracts/strategies/ConvexEthMetaStrategy.sol#L32", "id": "30cc5ee3de309a7891c1e195b89e0be4c974dabc6853688a419fd61fe368b561", "check": "unused-state", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "_deprecated_cvxDepositorPTokenId", "source_mapping": {"start": 1403, "length": 48, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.sol", "is_dependency": false, "lines": [34], "starting_column": 5, "ending_column": 53}, "type_specific_fields": {"parent": {"type": "contract", "name": "ConvexEthMetaStrategy", "source_mapping": {"start": 769, "length": 22879, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622], "starting_column": 1, "ending_column": 2}}}}, {"type": "contract", "name": "ConvexEthMetaStrategy", "source_mapping": {"start": 769, "length": 22879, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622], "starting_column": 1, "ending_column": 2}}], "description": "ConvexEthMetaStrategy._deprecated_cvxDepositorPTokenId (contracts/strategies/ConvexEthMetaStrategy.sol#34) is never used in ConvexEthMetaStrategy (contracts/strategies/ConvexEthMetaStrategy.sol#20-622)\n", "markdown": "[ConvexEthMetaStrategy._deprecated_cvxDepositorPTokenId](contracts/strategies/ConvexEthMetaStrategy.sol#L34) is never used in [ConvexEthMetaStrategy](contracts/strategies/ConvexEthMetaStrategy.sol#L20-L622)\n", "first_markdown_element": "contracts/strategies/ConvexEthMetaStrategy.sol#L34", "id": "0c159fca431d4d02642f66812fd31a3a4f1ca96f1d99b70af66c53e29b40adb6", "check": "unused-state", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "_deprecated_curvePool", "source_mapping": {"start": 1507, "length": 37, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.sol", "is_dependency": false, "lines": [36], "starting_column": 5, "ending_column": 42}, "type_specific_fields": {"parent": {"type": "contract", "name": "ConvexEthMetaStrategy", "source_mapping": {"start": 769, "length": 22879, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622], "starting_column": 1, "ending_column": 2}}}}, {"type": "contract", "name": "ConvexEthMetaStrategy", "source_mapping": {"start": 769, "length": 22879, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622], "starting_column": 1, "ending_column": 2}}], "description": "ConvexEthMetaStrategy._deprecated_curvePool (contracts/strategies/ConvexEthMetaStrategy.sol#36) is never used in ConvexEthMetaStrategy (contracts/strategies/ConvexEthMetaStrategy.sol#20-622)\n", "markdown": "[ConvexEthMetaStrategy._deprecated_curvePool](contracts/strategies/ConvexEthMetaStrategy.sol#L36) is never used in [ConvexEthMetaStrategy](contracts/strategies/ConvexEthMetaStrategy.sol#L20-L622)\n", "first_markdown_element": "contracts/strategies/ConvexEthMetaStrategy.sol#L36", "id": "a3c3fabcdade68568928e21ca48dbc4d59ea977485e567e43b5d5eed1a7dc704", "check": "unused-state", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "_deprecated_lpToken", "source_mapping": {"start": 1600, "length": 35, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.sol", "is_dependency": false, "lines": [38], "starting_column": 5, "ending_column": 40}, "type_specific_fields": {"parent": {"type": "contract", "name": "ConvexEthMetaStrategy", "source_mapping": {"start": 769, "length": 22879, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622], "starting_column": 1, "ending_column": 2}}}}, {"type": "contract", "name": "ConvexEthMetaStrategy", "source_mapping": {"start": 769, "length": 22879, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622], "starting_column": 1, "ending_column": 2}}], "description": "ConvexEthMetaStrategy._deprecated_lpToken (contracts/strategies/ConvexEthMetaStrategy.sol#38) is never used in ConvexEthMetaStrategy (contracts/strategies/ConvexEthMetaStrategy.sol#20-622)\n", "markdown": "[ConvexEthMetaStrategy._deprecated_lpToken](contracts/strategies/ConvexEthMetaStrategy.sol#L38) is never used in [ConvexEthMetaStrategy](contracts/strategies/ConvexEthMetaStrategy.sol#L20-L622)\n", "first_markdown_element": "contracts/strategies/ConvexEthMetaStrategy.sol#L38", "id": "39e2a5642a5a27d124c6d45161ab1443b9dd5cd4895ed05e9e4802b61e11ea7d", "check": "unused-state", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "_deprecated_oeth", "source_mapping": {"start": 1691, "length": 32, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.sol", "is_dependency": false, "lines": [40], "starting_column": 5, "ending_column": 37}, "type_specific_fields": {"parent": {"type": "contract", "name": "ConvexEthMetaStrategy", "source_mapping": {"start": 769, "length": 22879, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622], "starting_column": 1, "ending_column": 2}}}}, {"type": "contract", "name": "ConvexEthMetaStrategy", "source_mapping": {"start": 769, "length": 22879, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622], "starting_column": 1, "ending_column": 2}}], "description": "ConvexEthMetaStrategy._deprecated_oeth (contracts/strategies/ConvexEthMetaStrategy.sol#40) is never used in ConvexEthMetaStrategy (contracts/strategies/ConvexEthMetaStrategy.sol#20-622)\n", "markdown": "[ConvexEthMetaStrategy._deprecated_oeth](contracts/strategies/ConvexEthMetaStrategy.sol#L40) is never used in [ConvexEthMetaStrategy](contracts/strategies/ConvexEthMetaStrategy.sol#L20-L622)\n", "first_markdown_element": "contracts/strategies/ConvexEthMetaStrategy.sol#L40", "id": "946c8098661a7ea28eaebc3ab1f95fc3943e3cb7ae3fb7136c2aec3a2d8122b6", "check": "unused-state", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "_deprecated_weth", "source_mapping": {"start": 1779, "length": 32, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.sol", "is_dependency": false, "lines": [42], "starting_column": 5, "ending_column": 37}, "type_specific_fields": {"parent": {"type": "contract", "name": "ConvexEthMetaStrategy", "source_mapping": {"start": 769, "length": 22879, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622], "starting_column": 1, "ending_column": 2}}}}, {"type": "contract", "name": "ConvexEthMetaStrategy", "source_mapping": {"start": 769, "length": 22879, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622], "starting_column": 1, "ending_column": 2}}], "description": "ConvexEthMetaStrategy._deprecated_weth (contracts/strategies/ConvexEthMetaStrategy.sol#42) is never used in ConvexEthMetaStrategy (contracts/strategies/ConvexEthMetaStrategy.sol#20-622)\n", "markdown": "[ConvexEthMetaStrategy._deprecated_weth](contracts/strategies/ConvexEthMetaStrategy.sol#L42) is never used in [ConvexEthMetaStrategy](contracts/strategies/ConvexEthMetaStrategy.sol#L20-L622)\n", "first_markdown_element": "contracts/strategies/ConvexEthMetaStrategy.sol#L42", "id": "40728e6263aa0c4e1c42152dbe790c492f8d3f371e7899ae56f366d06cff33c7", "check": "unused-state", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "_deprecated_oethCoinIndex", "source_mapping": {"start": 1903, "length": 41, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.sol", "is_dependency": false, "lines": [46], "starting_column": 5, "ending_column": 46}, "type_specific_fields": {"parent": {"type": "contract", "name": "ConvexEthMetaStrategy", "source_mapping": {"start": 769, "length": 22879, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622], "starting_column": 1, "ending_column": 2}}}}, {"type": "contract", "name": "ConvexEthMetaStrategy", "source_mapping": {"start": 769, "length": 22879, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622], "starting_column": 1, "ending_column": 2}}], "description": "ConvexEthMetaStrategy._deprecated_oethCoinIndex (contracts/strategies/ConvexEthMetaStrategy.sol#46) is never used in ConvexEthMetaStrategy (contracts/strategies/ConvexEthMetaStrategy.sol#20-622)\n", "markdown": "[ConvexEthMetaStrategy._deprecated_oethCoinIndex](contracts/strategies/ConvexEthMetaStrategy.sol#L46) is never used in [ConvexEthMetaStrategy](contracts/strategies/ConvexEthMetaStrategy.sol#L20-L622)\n", "first_markdown_element": "contracts/strategies/ConvexEthMetaStrategy.sol#L46", "id": "c73b3d49a3ad1c2a19c81105bed96c8756ef324b24a165b13b1dfe5c2ca4917d", "check": "unused-state", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "_deprecated_ethCoinIndex", "source_mapping": {"start": 2000, "length": 40, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.sol", "is_dependency": false, "lines": [48], "starting_column": 5, "ending_column": 45}, "type_specific_fields": {"parent": {"type": "contract", "name": "ConvexEthMetaStrategy", "source_mapping": {"start": 769, "length": 22879, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622], "starting_column": 1, "ending_column": 2}}}}, {"type": "contract", "name": "ConvexEthMetaStrategy", "source_mapping": {"start": 769, "length": 22879, "filename_relative": "contracts/strategies/ConvexEthMetaStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexEthMetaStrategy.sol", "filename_short": "contracts/strategies/ConvexEthMetaStrategy.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622], "starting_column": 1, "ending_column": 2}}], "description": "ConvexEthMetaStrategy._deprecated_ethCoinIndex (contracts/strategies/ConvexEthMetaStrategy.sol#48) is never used in ConvexEthMetaStrategy (contracts/strategies/ConvexEthMetaStrategy.sol#20-622)\n", "markdown": "[ConvexEthMetaStrategy._deprecated_ethCoinIndex](contracts/strategies/ConvexEthMetaStrategy.sol#L48) is never used in [ConvexEthMetaStrategy](contracts/strategies/ConvexEthMetaStrategy.sol#L20-L622)\n", "first_markdown_element": "contracts/strategies/ConvexEthMetaStrategy.sol#L48", "id": "116e62b88711a6bb923cb4eef4fbea98c9c7ddd45bc201a6f569d6f9b150fe60", "check": "unused-state", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "THREEPOOL_ASSET_COUNT", "source_mapping": {"start": 814, "length": 51, "filename_relative": "contracts/strategies/BaseCurveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/BaseCurveStrategy.sol", "filename_short": "contracts/strategies/BaseCurveStrategy.sol", "is_dependency": false, "lines": [22], "starting_column": 5, "ending_column": 56}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseCurveStrategy", "source_mapping": {"start": 536, "length": 11069, "filename_relative": "contracts/strategies/BaseCurveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/BaseCurveStrategy.sol", "filename_short": "contracts/strategies/BaseCurveStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307], "starting_column": 1, "ending_column": 2}}}}, {"type": "contract", "name": "ConvexStrategy", "source_mapping": {"start": 918, "length": 5358, "filename_relative": "contracts/strategies/ConvexStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexStrategy.sol", "filename_short": "contracts/strategies/ConvexStrategy.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165], "starting_column": 1, "ending_column": 2}}], "description": "BaseCurveStrategy.THREEPOOL_ASSET_COUNT (contracts/strategies/BaseCurveStrategy.sol#22) is never used in ConvexStrategy (contracts/strategies/ConvexStrategy.sol#25-165)\n", "markdown": "[BaseCurveStrategy.THREEPOOL_ASSET_COUNT](contracts/strategies/BaseCurveStrategy.sol#L22) is never used in [ConvexStrategy](contracts/strategies/ConvexStrategy.sol#L25-L165)\n", "first_markdown_element": "contracts/strategies/BaseCurveStrategy.sol#L22", "id": "6c2bd4b15055d852aa12dfd95a8d1740df4b29e0b198ce384c4d685dbc2205d4", "check": "unused-state", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "_deprecated_cvxRewardTokenAddress", "source_mapping": {"start": 1173, "length": 49, "filename_relative": "contracts/strategies/ConvexStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexStrategy.sol", "filename_short": "contracts/strategies/ConvexStrategy.sol", "is_dependency": false, "lines": [32], "starting_column": 5, "ending_column": 54}, "type_specific_fields": {"parent": {"type": "contract", "name": "ConvexStrategy", "source_mapping": {"start": 918, "length": 5358, "filename_relative": "contracts/strategies/ConvexStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexStrategy.sol", "filename_short": "contracts/strategies/ConvexStrategy.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165], "starting_column": 1, "ending_column": 2}}}}, {"type": "contract", "name": "ConvexStrategy", "source_mapping": {"start": 918, "length": 5358, "filename_relative": "contracts/strategies/ConvexStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ConvexStrategy.sol", "filename_short": "contracts/strategies/ConvexStrategy.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165], "starting_column": 1, "ending_column": 2}}], "description": "ConvexStrategy._deprecated_cvxRewardTokenAddress (contracts/strategies/ConvexStrategy.sol#32) is never used in ConvexStrategy (contracts/strategies/ConvexStrategy.sol#25-165)\n", "markdown": "[ConvexStrategy._deprecated_cvxRewardTokenAddress](contracts/strategies/ConvexStrategy.sol#L32) is never used in [ConvexStrategy](contracts/strategies/ConvexStrategy.sol#L25-L165)\n", "first_markdown_element": "contracts/strategies/ConvexStrategy.sol#L32", "id": "583ffe934d527c68c0da4bbaa6770a227f6b95cf94f97d7d26275d10736106c2", "check": "unused-state", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "THREEPOOL_ASSET_COUNT", "source_mapping": {"start": 814, "length": 51, "filename_relative": "contracts/strategies/BaseCurveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/BaseCurveStrategy.sol", "filename_short": "contracts/strategies/BaseCurveStrategy.sol", "is_dependency": false, "lines": [22], "starting_column": 5, "ending_column": 56}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseCurveStrategy", "source_mapping": {"start": 536, "length": 11069, "filename_relative": "contracts/strategies/BaseCurveStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/BaseCurveStrategy.sol", "filename_short": "contracts/strategies/BaseCurveStrategy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307], "starting_column": 1, "ending_column": 2}}}}, {"type": "contract", "name": "ThreePoolStrategy", "source_mapping": {"start": 907, "length": 4607, "filename_relative": "contracts/strategies/ThreePoolStrategy.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/strategies/ThreePoolStrategy.sol", "filename_short": "contracts/strategies/ThreePoolStrategy.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147], "starting_column": 1, "ending_column": 2}}], "description": "BaseCurveStrategy.THREEPOOL_ASSET_COUNT (contracts/strategies/BaseCurveStrategy.sol#22) is never used in ThreePoolStrategy (contracts/strategies/ThreePoolStrategy.sol#25-147)\n", "markdown": "[BaseCurveStrategy.THREEPOOL_ASSET_COUNT](contracts/strategies/BaseCurveStrategy.sol#L22) is never used in [ThreePoolStrategy](contracts/strategies/ThreePoolStrategy.sol#L25-L147)\n", "first_markdown_element": "contracts/strategies/BaseCurveStrategy.sol#L22", "id": "8fcb03501694d5d1c66767faeed19b98cf845ca0db7f3b4272ddf86d1285c47d", "check": "unused-state", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "MINT_MINIMUM_UNIT_PRICE", "source_mapping": {"start": 5582, "length": 51, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [138], "starting_column": 5, "ending_column": 56}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 695, "length": 6457, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178], "starting_column": 1, "ending_column": 2}}}}, {"type": "contract", "name": "OETHVault", "source_mapping": {"start": 164, "length": 32, "filename_relative": "contracts/vault/OETHVault.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHVault.sol", "filename_short": "contracts/vault/OETHVault.sol", "is_dependency": false, "lines": [10, 11, 12], "starting_column": 1, "ending_column": 2}}], "description": "VaultStorage.MINT_MINIMUM_UNIT_PRICE (contracts/vault/VaultStorage.sol#138) is never used in OETHVault (contracts/vault/OETHVault.sol#10-12)\n", "markdown": "[VaultStorage.MINT_MINIMUM_UNIT_PRICE](contracts/vault/VaultStorage.sol#L138) is never used in [OETHVault](contracts/vault/OETHVault.sol#L10-L12)\n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L138", "id": "149a5dd32dc4281e6676bc6235d5b98438630b9dd44b947183da6f2539763ef9", "check": "unused-state", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "MIN_UNIT_PRICE_DRIFT", "source_mapping": {"start": 6052, "length": 46, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [149], "starting_column": 5, "ending_column": 51}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 695, "length": 6457, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178], "starting_column": 1, "ending_column": 2}}}}, {"type": "contract", "name": "OETHVault", "source_mapping": {"start": 164, "length": 32, "filename_relative": "contracts/vault/OETHVault.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHVault.sol", "filename_short": "contracts/vault/OETHVault.sol", "is_dependency": false, "lines": [10, 11, 12], "starting_column": 1, "ending_column": 2}}], "description": "VaultStorage.MIN_UNIT_PRICE_DRIFT (contracts/vault/VaultStorage.sol#149) is never used in OETHVault (contracts/vault/OETHVault.sol#10-12)\n", "markdown": "[VaultStorage.MIN_UNIT_PRICE_DRIFT](contracts/vault/VaultStorage.sol#L149) is never used in [OETHVault](contracts/vault/OETHVault.sol#L10-L12)\n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L149", "id": "7f19bc3e2fb9a9561aee099dc073232975619a6c5032b3a61c1645bf58315f67", "check": "unused-state", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "MAX_UNIT_PRICE_DRIFT", "source_mapping": {"start": 6104, "length": 46, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [150], "starting_column": 5, "ending_column": 51}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 695, "length": 6457, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178], "starting_column": 1, "ending_column": 2}}}}, {"type": "contract", "name": "OETHVault", "source_mapping": {"start": 164, "length": 32, "filename_relative": "contracts/vault/OETHVault.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHVault.sol", "filename_short": "contracts/vault/OETHVault.sol", "is_dependency": false, "lines": [10, 11, 12], "starting_column": 1, "ending_column": 2}}], "description": "VaultStorage.MAX_UNIT_PRICE_DRIFT (contracts/vault/VaultStorage.sol#150) is never used in OETHVault (contracts/vault/OETHVault.sol#10-12)\n", "markdown": "[VaultStorage.MAX_UNIT_PRICE_DRIFT](contracts/vault/VaultStorage.sol#L150) is never used in [OETHVault](contracts/vault/OETHVault.sol#L10-L12)\n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L150", "id": "e5390a7816c93ca32a85f9b57349d42579c55c04a3a4ef2b4769d2575a1905bb", "check": "unused-state", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "MINT_MINIMUM_UNIT_PRICE", "source_mapping": {"start": 5582, "length": 51, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [138], "starting_column": 5, "ending_column": 56}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 695, "length": 6457, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178], "starting_column": 1, "ending_column": 2}}}}, {"type": "contract", "name": "OETHVaultAdmin", "source_mapping": {"start": 179, "length": 42, "filename_relative": "contracts/vault/OETHVaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHVaultAdmin.sol", "filename_short": "contracts/vault/OETHVaultAdmin.sol", "is_dependency": false, "lines": [10, 11, 12], "starting_column": 1, "ending_column": 2}}], "description": "VaultStorage.MINT_MINIMUM_UNIT_PRICE (contracts/vault/VaultStorage.sol#138) is never used in OETHVaultAdmin (contracts/vault/OETHVaultAdmin.sol#10-12)\n", "markdown": "[VaultStorage.MINT_MINIMUM_UNIT_PRICE](contracts/vault/VaultStorage.sol#L138) is never used in [OETHVaultAdmin](contracts/vault/OETHVaultAdmin.sol#L10-L12)\n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L138", "id": "bbab6f2a0b738f60095768009071f55614b28ba6b6e5e6a71f67f94ee08c8e4d", "check": "unused-state", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "MIN_UNIT_PRICE_DRIFT", "source_mapping": {"start": 6052, "length": 46, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [149], "starting_column": 5, "ending_column": 51}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 695, "length": 6457, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178], "starting_column": 1, "ending_column": 2}}}}, {"type": "contract", "name": "OETHVaultAdmin", "source_mapping": {"start": 179, "length": 42, "filename_relative": "contracts/vault/OETHVaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHVaultAdmin.sol", "filename_short": "contracts/vault/OETHVaultAdmin.sol", "is_dependency": false, "lines": [10, 11, 12], "starting_column": 1, "ending_column": 2}}], "description": "VaultStorage.MIN_UNIT_PRICE_DRIFT (contracts/vault/VaultStorage.sol#149) is never used in OETHVaultAdmin (contracts/vault/OETHVaultAdmin.sol#10-12)\n", "markdown": "[VaultStorage.MIN_UNIT_PRICE_DRIFT](contracts/vault/VaultStorage.sol#L149) is never used in [OETHVaultAdmin](contracts/vault/OETHVaultAdmin.sol#L10-L12)\n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L149", "id": "94393d439aab1bc281bb45a54cf564b95035d6a7bd2911a0c2ab82805660cbdc", "check": "unused-state", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "MAX_UNIT_PRICE_DRIFT", "source_mapping": {"start": 6104, "length": 46, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [150], "starting_column": 5, "ending_column": 51}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 695, "length": 6457, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178], "starting_column": 1, "ending_column": 2}}}}, {"type": "contract", "name": "OETHVaultAdmin", "source_mapping": {"start": 179, "length": 42, "filename_relative": "contracts/vault/OETHVaultAdmin.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHVaultAdmin.sol", "filename_short": "contracts/vault/OETHVaultAdmin.sol", "is_dependency": false, "lines": [10, 11, 12], "starting_column": 1, "ending_column": 2}}], "description": "VaultStorage.MAX_UNIT_PRICE_DRIFT (contracts/vault/VaultStorage.sol#150) is never used in OETHVaultAdmin (contracts/vault/OETHVaultAdmin.sol#10-12)\n", "markdown": "[VaultStorage.MAX_UNIT_PRICE_DRIFT](contracts/vault/VaultStorage.sol#L150) is never used in [OETHVaultAdmin](contracts/vault/OETHVaultAdmin.sol#L10-L12)\n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L150", "id": "0c56f807a05d376afb6eb2e3300f124c71164a80c1bb85eb40f65da6f9f8a1d2", "check": "unused-state", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "strategies", "source_mapping": {"start": 3271, "length": 48, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [83], "starting_column": 5, "ending_column": 53}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 695, "length": 6457, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178], "starting_column": 1, "ending_column": 2}}}}, {"type": "contract", "name": "OETHVaultCore", "source_mapping": {"start": 176, "length": 40, "filename_relative": "contracts/vault/OETHVaultCore.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHVaultCore.sol", "filename_short": "contracts/vault/OETHVaultCore.sol", "is_dependency": false, "lines": [10, 11, 12], "starting_column": 1, "ending_column": 2}}], "description": "VaultStorage.strategies (contracts/vault/VaultStorage.sol#83) is never used in OETHVaultCore (contracts/vault/OETHVaultCore.sol#10-12)\n", "markdown": "[VaultStorage.strategies](contracts/vault/VaultStorage.sol#L83) is never used in [OETHVaultCore](contracts/vault/OETHVaultCore.sol#L10-L12)\n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L83", "id": "e1cb59e398429820cba9c8fa98f9b6f9bb5766b0248f0efc2355d8a1028187de", "check": "unused-state", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "swapConfig", "source_mapping": {"start": 6552, "length": 58, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [161], "starting_column": 5, "ending_column": 63}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 695, "length": 6457, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178], "starting_column": 1, "ending_column": 2}}}}, {"type": "contract", "name": "OETHVaultCore", "source_mapping": {"start": 176, "length": 40, "filename_relative": "contracts/vault/OETHVaultCore.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHVaultCore.sol", "filename_short": "contracts/vault/OETHVaultCore.sol", "is_dependency": false, "lines": [10, 11, 12], "starting_column": 1, "ending_column": 2}}], "description": "VaultStorage.swapConfig (contracts/vault/VaultStorage.sol#161) is never used in OETHVaultCore (contracts/vault/OETHVaultCore.sol#10-12)\n", "markdown": "[VaultStorage.swapConfig](contracts/vault/VaultStorage.sol#L161) is never used in [OETHVaultCore](contracts/vault/OETHVaultCore.sol#L10-L12)\n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L161", "id": "2f693fe1c1b55189b244c3d2836962822084ed42ba961b3b1a724748878d58d8", "check": "unused-state", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "MAX_UINT", "source_mapping": {"start": 998, "length": 111, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [28, 29], "starting_column": 5, "ending_column": 75}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 788, "length": 27831, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803], "starting_column": 1, "ending_column": 2}}}}, {"type": "contract", "name": "OETHVaultCore", "source_mapping": {"start": 176, "length": 40, "filename_relative": "contracts/vault/OETHVaultCore.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHVaultCore.sol", "filename_short": "contracts/vault/OETHVaultCore.sol", "is_dependency": false, "lines": [10, 11, 12], "starting_column": 1, "ending_column": 2}}], "description": "VaultCore.MAX_UINT (contracts/vault/VaultCore.sol#28-29) is never used in OETHVaultCore (contracts/vault/OETHVaultCore.sol#10-12)\n", "markdown": "[VaultCore.MAX_UINT](contracts/vault/VaultCore.sol#L28-L29) is never used in [OETHVaultCore](contracts/vault/OETHVaultCore.sol#L10-L12)\n", "first_markdown_element": "contracts/vault/VaultCore.sol#L28-L29", "id": "95344e00c1decfbff4303679bb74ce8912b6e6ff165ec7001fd0c3e38aa363c5", "check": "unused-state", "impact": "Informational", "confidence": "High"}, {"elements": [], "description": "Loop condition `i < durations.length` (contracts/staking/SingleAssetStaking.sol#136) should use cached array length instead of referencing `length` member of the storage array.\n ", "markdown": "Loop condition `i < durations.length` (contracts/staking/SingleAssetStaking.sol#136) should use cached array length instead of referencing `length` member of the storage array.\n ", "first_markdown_element": "", "id": "7834824c1cc045ca55ed538b20a5b1d54aa02ad5c6b8b0f8d532f4f64b866017", "check": "cache-array-length", "impact": "Optimization", "confidence": "High"}, {"elements": [], "description": "Loop condition `i < assetsMapped.length` (contracts/strategies/MorphoCompoundStrategy.sol#108) should use cached array length instead of referencing `length` member of the storage array.\n ", "markdown": "Loop condition `i < assetsMapped.length` (contracts/strategies/MorphoCompoundStrategy.sol#108) should use cached array length instead of referencing `length` member of the storage array.\n ", "first_markdown_element": "", "id": "df0279ca5188021414afb9690dcb7a7412b2bbe0fd00a66b25dae68ab562441c", "check": "cache-array-length", "impact": "Optimization", "confidence": "High"}, {"elements": [], "description": "Loop condition `i < assetsMapped.length` (contracts/strategies/MorphoCompoundStrategy.sol#134) should use cached array length instead of referencing `length` member of the storage array.\n ", "markdown": "Loop condition `i < assetsMapped.length` (contracts/strategies/MorphoCompoundStrategy.sol#134) should use cached array length instead of referencing `length` member of the storage array.\n ", "first_markdown_element": "", "id": "e9c46c47b40bf46f415e79c57b6a041e06ef1d603c2581d05607e3f18c833d63", "check": "cache-array-length", "impact": "Optimization", "confidence": "High"}, {"elements": [], "description": "Loop condition `i < assetsMapped.length` (contracts/strategies/BaseCurveStrategy.sol#71) should use cached array length instead of referencing `length` member of the storage array.\n ", "markdown": "Loop condition `i < assetsMapped.length` (contracts/strategies/BaseCurveStrategy.sol#71) should use cached array length instead of referencing `length` member of the storage array.\n ", "first_markdown_element": "", "id": "87dae9f2e8793b2c6216035d1184808cefbc03b8b7770cd5fdcab32f5c88930e", "check": "cache-array-length", "impact": "Optimization", "confidence": "High"}, {"elements": [], "description": "Loop condition `i < assetsMapped.length` (contracts/strategies/AaveStrategy.sol#278) should use cached array length instead of referencing `length` member of the storage array.\n ", "markdown": "Loop condition `i < assetsMapped.length` (contracts/strategies/AaveStrategy.sol#278) should use cached array length instead of referencing `length` member of the storage array.\n ", "first_markdown_element": "", "id": "2a56e903b91517926f149ebe2a16a1f78062b796410716df17fd43d2200685a6", "check": "cache-array-length", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "maxSupplyDiff", "source_mapping": {"start": 5213, "length": 28, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [127], "starting_column": 5, "ending_column": 33}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 695, "length": 6457, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178], "starting_column": 1, "ending_column": 2}}}}], "description": "VaultStorage.maxSupplyDiff (contracts/vault/VaultStorage.sol#127) should be constant \n", "markdown": "[VaultStorage.maxSupplyDiff](contracts/vault/VaultStorage.sol#L127) should be constant \n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L127", "id": "09fd4446efe571b7801efb7877d22557574ea45e2982bf4d5366e0bdf1142249", "check": "constable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "netOusdMintForStrategyThreshold", "source_mapping": {"start": 5995, "length": 50, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [147], "starting_column": 5, "ending_column": 55}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 695, "length": 6457, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178], "starting_column": 1, "ending_column": 2}}}}], "description": "VaultStorage.netOusdMintForStrategyThreshold (contracts/vault/VaultStorage.sol#147) should be constant \n", "markdown": "[VaultStorage.netOusdMintForStrategyThreshold](contracts/vault/VaultStorage.sol#L147) should be constant \n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L147", "id": "bd0e4f67d5f6fb2a9810eb8385684dfcfa6d5febceacff6a21756e0514dc7dd7", "check": "constable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "oUSD", "source_mapping": {"start": 4376, "length": 18, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [106], "starting_column": 5, "ending_column": 23}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 695, "length": 6457, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178], "starting_column": 1, "ending_column": 2}}}}], "description": "VaultStorage.oUSD (contracts/vault/VaultStorage.sol#106) should be constant \n", "markdown": "[VaultStorage.oUSD](contracts/vault/VaultStorage.sol#L106) should be constant \n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L106", "id": "500e8adb38d72426b5e12a19f032430bae7fe79fc3b9039de8e1d2b8043c9f27", "check": "constable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "ousdMetaStrategy", "source_mapping": {"start": 5739, "length": 44, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [141], "starting_column": 5, "ending_column": 49}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 695, "length": 6457, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178], "starting_column": 1, "ending_column": 2}}}}], "description": "VaultStorage.ousdMetaStrategy (contracts/vault/VaultStorage.sol#141) should be constant \n", "markdown": "[VaultStorage.ousdMetaStrategy](contracts/vault/VaultStorage.sol#L141) should be constant \n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L141", "id": "79f67b513634062fa94cfd8c1f0eaac89d45211dbbaf7e930609371ec6e8a4a1", "check": "constable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "strategistAddr", "source_mapping": {"start": 4897, "length": 42, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [120], "starting_column": 5, "ending_column": 47}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 695, "length": 6457, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178], "starting_column": 1, "ending_column": 2}}}}], "description": "VaultStorage.strategistAddr (contracts/vault/VaultStorage.sol#120) should be constant \n", "markdown": "[VaultStorage.strategistAddr](contracts/vault/VaultStorage.sol#L120) should be constant \n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L120", "id": "3040efebbb4c164522cb91db7f6c9c1d2aff4f8ca7753b542e75df9130cdb792", "check": "constable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "trusteeAddress", "source_mapping": {"start": 5320, "length": 29, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [130], "starting_column": 5, "ending_column": 34}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 695, "length": 6457, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178], "starting_column": 1, "ending_column": 2}}}}], "description": "VaultStorage.trusteeAddress (contracts/vault/VaultStorage.sol#130) should be constant \n", "markdown": "[VaultStorage.trusteeAddress](contracts/vault/VaultStorage.sol#L130) should be constant \n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L130", "id": "1694f1d2905ea29eda65443d05da440b7e71abfa3cbf6cfa6a42f6a9ff44e094", "check": "constable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "trusteeFeeBps", "source_mapping": {"start": 5429, "length": 28, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [133], "starting_column": 5, "ending_column": 33}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 695, "length": 6457, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178], "starting_column": 1, "ending_column": 2}}}}], "description": "VaultStorage.trusteeFeeBps (contracts/vault/VaultStorage.sol#133) should be constant \n", "markdown": "[VaultStorage.trusteeFeeBps](contracts/vault/VaultStorage.sol#L133) should be constant \n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L133", "id": "684276aeea9e321f463f752fc69838fd6f7e79e627cb01fe42aff0ff1706283a", "check": "constable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "adjuster", "source_mapping": {"start": 1575, "length": 23, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [43], "starting_column": 5, "ending_column": 28}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompensationClaims", "source_mapping": {"start": 1527, "length": 3674, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164], "starting_column": 1, "ending_column": 2}}}}], "description": "CompensationClaims.adjuster (contracts/compensation/CompensationClaims.sol#43) should be immutable \n", "markdown": "[CompensationClaims.adjuster](contracts/compensation/CompensationClaims.sol#L43) should be immutable \n", "first_markdown_element": "contracts/compensation/CompensationClaims.sol#L43", "id": "6096d2df64fc09f12045506f6c33f0ab738f89c635ce3f9bca28d2993054310f", "check": "immutable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "token", "source_mapping": {"start": 1604, "length": 20, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [44], "starting_column": 5, "ending_column": 25}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompensationClaims", "source_mapping": {"start": 1527, "length": 3674, "filename_relative": "contracts/compensation/CompensationClaims.sol", "filename_absolute": "/Volumes/origin/origin-dollar/contracts/contracts/compensation/CompensationClaims.sol", "filename_short": "contracts/compensation/CompensationClaims.sol", "is_dependency": false, "lines": [42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164], "starting_column": 1, "ending_column": 2}}}}], "description": "CompensationClaims.token (contracts/compensation/CompensationClaims.sol#44) should be immutable \n", "markdown": "[CompensationClaims.token](contracts/compensation/CompensationClaims.sol#L44) should be immutable \n", "first_markdown_element": "contracts/compensation/CompensationClaims.sol#L44", "id": "8fa24775e2dccefd658d6fc197c9fc4dc75a17bae8289f947b6be9dc53595881", "check": "immutable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "function", "name": "constructor", "source_mapping": {"start": 849, "length": 231, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [24, 25, 26, 27, 28, 29, 30], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OETHZapper", "source_mapping": {"start": 288, "length": 2569, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81], "starting_column": 1, "ending_column": 2}}, "signature": "constructor(address,address)"}}, {"type": "node", "name": "weth.approve(address(_vault),type()(uint256).max)", "source_mapping": {"start": 965, "length": 48, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [28], "starting_column": 9, "ending_column": 57}, "type_specific_fields": {"parent": {"type": "function", "name": "constructor", "source_mapping": {"start": 849, "length": 231, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [24, 25, 26, 27, 28, 29, 30], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OETHZapper", "source_mapping": {"start": 288, "length": 2569, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81], "starting_column": 1, "ending_column": 2}}, "signature": "constructor(address,address)"}}}}], "description": "OETHZapper.constructor(address,address) (contracts/vault/OETHZapper.sol#24-30) ignores return value by weth.approve(address(_vault),type()(uint256).max) (contracts/vault/OETHZapper.sol#28)\n", "markdown": "[OETHZapper.constructor(address,address)](contracts/vault/OETHZapper.sol#L24-L30) ignores return value by [weth.approve(address(_vault),type()(uint256).max)](contracts/vault/OETHZapper.sol#L28)\n", "first_markdown_element": "contracts/vault/OETHZapper.sol#L24-L30", "id": "460275d8e7852760f596536253db6ec4738ca77745d9b5a38a289cbde2d9384c", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "constructor", "source_mapping": {"start": 849, "length": 231, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [24, 25, 26, 27, 28, 29, 30], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OETHZapper", "source_mapping": {"start": 288, "length": 2569, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81], "starting_column": 1, "ending_column": 2}}, "signature": "constructor(address,address)"}}, {"type": "node", "name": "frxeth.approve(address(_vault),type()(uint256).max)", "source_mapping": {"start": 1023, "length": 50, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [29], "starting_column": 9, "ending_column": 59}, "type_specific_fields": {"parent": {"type": "function", "name": "constructor", "source_mapping": {"start": 849, "length": 231, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [24, 25, 26, 27, 28, 29, 30], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OETHZapper", "source_mapping": {"start": 288, "length": 2569, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81], "starting_column": 1, "ending_column": 2}}, "signature": "constructor(address,address)"}}}}], "description": "OETHZapper.constructor(address,address) (contracts/vault/OETHZapper.sol#24-30) ignores return value by frxeth.approve(address(_vault),type()(uint256).max) (contracts/vault/OETHZapper.sol#29)\n", "markdown": "[OETHZapper.constructor(address,address)](contracts/vault/OETHZapper.sol#L24-L30) ignores return value by [frxeth.approve(address(_vault),type()(uint256).max)](contracts/vault/OETHZapper.sol#L29)\n", "first_markdown_element": "contracts/vault/OETHZapper.sol#L24-L30", "id": "602e23c82c5e4d9f8dc3e9ee61327d4e9d8fb09d886a291dc7f89562e7ac7586", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "depositSFRXETH", "source_mapping": {"start": 1917, "length": 274, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [58, 59, 60, 61, 62, 63, 64, 65], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OETHZapper", "source_mapping": {"start": 288, "length": 2569, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81], "starting_column": 1, "ending_column": 2}}, "signature": "depositSFRXETH(uint256,uint256)"}}, {"type": "node", "name": "sfrxeth.redeem(amount,address(this),msg.sender)", "source_mapping": {"start": 2031, "length": 49, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [62], "starting_column": 9, "ending_column": 58}, "type_specific_fields": {"parent": {"type": "function", "name": "depositSFRXETH", "source_mapping": {"start": 1917, "length": 274, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [58, 59, 60, 61, 62, 63, 64, 65], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OETHZapper", "source_mapping": {"start": 288, "length": 2569, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81], "starting_column": 1, "ending_column": 2}}, "signature": "depositSFRXETH(uint256,uint256)"}}}}], "description": "OETHZapper.depositSFRXETH(uint256,uint256) (contracts/vault/OETHZapper.sol#58-65) ignores return value by sfrxeth.redeem(amount,address(this),msg.sender) (contracts/vault/OETHZapper.sol#62)\n", "markdown": "[OETHZapper.depositSFRXETH(uint256,uint256)](contracts/vault/OETHZapper.sol#L58-L65) ignores return value by [sfrxeth.redeem(amount,address(this),msg.sender)](contracts/vault/OETHZapper.sol#L62)\n", "first_markdown_element": "contracts/vault/OETHZapper.sol#L58-L65", "id": "ad9cb44f03282639ae56103acb1e9e5014d0d451f5dcb7d2184c1b6c13d855f2", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "constructor", "source_mapping": {"start": 782, "length": 231, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OETHZapper", "source_mapping": {"start": 288, "length": 1735, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57], "starting_column": 1, "ending_column": 2}}, "signature": "constructor(address,address)"}}, {"type": "node", "name": "weth.approve(address(_vault),type()(uint256).max)", "source_mapping": {"start": 898, "length": 48, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [25], "starting_column": 9, "ending_column": 57}, "type_specific_fields": {"parent": {"type": "function", "name": "constructor", "source_mapping": {"start": 782, "length": 231, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OETHZapper", "source_mapping": {"start": 288, "length": 1735, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57], "starting_column": 1, "ending_column": 2}}, "signature": "constructor(address,address)"}}}}], "description": "OETHZapper.constructor(address,address) (contracts/vault/OETHZapper.sol#21-27) ignores return value by weth.approve(address(_vault),type()(uint256).max) (contracts/vault/OETHZapper.sol#25)\n", "markdown": "[OETHZapper.constructor(address,address)](contracts/vault/OETHZapper.sol#L21-L27) ignores return value by [weth.approve(address(_vault),type()(uint256).max)](contracts/vault/OETHZapper.sol#L25)\n", "first_markdown_element": "contracts/vault/OETHZapper.sol#L21-L27", "id": "2904e03fb2afa9650ab71131640fe730dd3c271bfbb0fd4e11b13f0169ac5cdd", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "constructor", "source_mapping": {"start": 782, "length": 231, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OETHZapper", "source_mapping": {"start": 288, "length": 1735, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57], "starting_column": 1, "ending_column": 2}}, "signature": "constructor(address,address)"}}, {"type": "node", "name": "frxeth.approve(address(_vault),type()(uint256).max)", "source_mapping": {"start": 956, "length": 50, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [26], "starting_column": 9, "ending_column": 59}, "type_specific_fields": {"parent": {"type": "function", "name": "constructor", "source_mapping": {"start": 782, "length": 231, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OETHZapper", "source_mapping": {"start": 288, "length": 1735, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57], "starting_column": 1, "ending_column": 2}}, "signature": "constructor(address,address)"}}}}], "description": "OETHZapper.constructor(address,address) (contracts/vault/OETHZapper.sol#21-27) ignores return value by frxeth.approve(address(_vault),type()(uint256).max) (contracts/vault/OETHZapper.sol#26)\n", "markdown": "[OETHZapper.constructor(address,address)](contracts/vault/OETHZapper.sol#L21-L27) ignores return value by [frxeth.approve(address(_vault),type()(uint256).max)](contracts/vault/OETHZapper.sol#L26)\n", "first_markdown_element": "contracts/vault/OETHZapper.sol#L21-L27", "id": "15b258e120fd421efd1ea15d8572ec122239b4431c578c7cc72318a969319597", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "depositSFRXETH", "source_mapping": {"start": 1331, "length": 274, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [40, 41, 42, 43, 44, 45, 46, 47], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OETHZapper", "source_mapping": {"start": 288, "length": 1735, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57], "starting_column": 1, "ending_column": 2}}, "signature": "depositSFRXETH(uint256,uint256)"}}, {"type": "node", "name": "sfrxeth.redeem(amount,address(this),msg.sender)", "source_mapping": {"start": 1445, "length": 49, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [44], "starting_column": 9, "ending_column": 58}, "type_specific_fields": {"parent": {"type": "function", "name": "depositSFRXETH", "source_mapping": {"start": 1331, "length": 274, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [40, 41, 42, 43, 44, 45, 46, 47], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OETHZapper", "source_mapping": {"start": 288, "length": 1735, "filename_relative": "contracts/vault/OETHZapper.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/OETHZapper.sol", "filename_short": "contracts/vault/OETHZapper.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57], "starting_column": 1, "ending_column": 2}}, "signature": "depositSFRXETH(uint256,uint256)"}}}}], "description": "OETHZapper.depositSFRXETH(uint256,uint256) (contracts/vault/OETHZapper.sol#40-47) ignores return value by sfrxeth.redeem(amount,address(this),msg.sender) (contracts/vault/OETHZapper.sol#44)\n", "markdown": "[OETHZapper.depositSFRXETH(uint256,uint256)](contracts/vault/OETHZapper.sol#L40-L47) ignores return value by [sfrxeth.redeem(amount,address(this),msg.sender)](contracts/vault/OETHZapper.sol#L44)\n", "first_markdown_element": "contracts/vault/OETHZapper.sol#L40-L47", "id": "3246dfb4384082977afe4b276459e86813a51a7fe4df6333e08dee5ee1b03c0c", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "assets", "source_mapping": {"start": 2394, "length": 41, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [61], "starting_column": 5, "ending_column": 46}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 828, "length": 4640, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146], "starting_column": 1, "ending_column": 2}}}}, {"type": "function", "name": "mint", "source_mapping": {"start": 2178, "length": 1436, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "mint(address,uint256,uint256)"}}, {"type": "function", "name": "isSupportedAsset", "source_mapping": {"start": 22648, "length": 121, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [627, 628, 629], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "isSupportedAsset(address)"}}, {"type": "function", "name": "_toUnits", "source_mapping": {"start": 23346, "length": 597, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "_toUnits(uint256,address)"}}, {"type": "function", "name": "_toUnitPrice", "source_mapping": {"start": 23949, "length": 573, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "_toUnitPrice(uint256,address)"}}], "description": "VaultStorage.assets (contracts/vault/VaultStorage.sol#61) is never initialized. It is used in:\n\t- VaultCore.mint(address,uint256,uint256) (contracts/vault/VaultCore.sol#66-107)\n\t- VaultCore.isSupportedAsset(address) (contracts/vault/VaultCore.sol#627-629)\n\t- VaultCore._toUnits(uint256,address) (contracts/vault/VaultCore.sol#646-661)\n\t- VaultCore._toUnitPrice(uint256,address) (contracts/vault/VaultCore.sol#663-678)\n", "markdown": "[VaultStorage.assets](contracts/vault/VaultStorage.sol#L61) is never initialized. It is used in:\n\t- [VaultCore.mint(address,uint256,uint256)](contracts/vault/VaultCore.sol#L66-L107)\n\t- [VaultCore.isSupportedAsset(address)](contracts/vault/VaultCore.sol#L627-L629)\n\t- [VaultCore._toUnits(uint256,address)](contracts/vault/VaultCore.sol#L646-L661)\n\t- [VaultCore._toUnitPrice(uint256,address)](contracts/vault/VaultCore.sol#L663-L678)\n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L61", "id": "c860938e159ea26b593c250740cbaa2024ab5c9ac0d6205f97e9af6dac87675f", "check": "uninitialized-state", "impact": "High", "confidence": "High"}, {"elements": [{"type": "variable", "name": "allAssets", "source_mapping": {"start": 2441, "length": 28, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [62], "starting_column": 5, "ending_column": 33}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 828, "length": 4640, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146], "starting_column": 1, "ending_column": 2}}}}, {"type": "function", "name": "_redeem", "source_mapping": {"start": 5763, "length": 2485, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "_redeem(uint256,uint256)"}}, {"type": "function", "name": "_allocate", "source_mapping": {"start": 10672, "length": 2860, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "_allocate()"}}, {"type": "function", "name": "_totalValueInVault", "source_mapping": {"start": 15676, "length": 356, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [432, 433, 434, 435, 436, 437, 438, 439, 440], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "_totalValueInVault()"}}, {"type": "function", "name": "_totalValueInStrategy", "source_mapping": {"start": 16603, "length": 505, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "_totalValueInStrategy(address)"}}, {"type": "function", "name": "_calculateRedeemOutputs", "source_mapping": {"start": 18727, "length": 3082, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "_calculateRedeemOutputs(uint256)"}}, {"type": "function", "name": "getAssetCount", "source_mapping": {"start": 22013, "length": 95, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [602, 603, 604], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "getAssetCount()"}}, {"type": "function", "name": "getAllAssets", "source_mapping": {"start": 22178, "length": 98, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [609, 610, 611], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "getAllAssets()"}}], "description": "VaultStorage.allAssets (contracts/vault/VaultStorage.sol#62) is never initialized. It is used in:\n\t- VaultCore._redeem(uint256,uint256) (contracts/vault/VaultCore.sol#169-233)\n\t- VaultCore._allocate() (contracts/vault/VaultCore.sol#301-369)\n\t- VaultCore._totalValueInVault() (contracts/vault/VaultCore.sol#432-440)\n\t- VaultCore._totalValueInStrategy(address) (contracts/vault/VaultCore.sol#457-471)\n\t- VaultCore._calculateRedeemOutputs(uint256) (contracts/vault/VaultCore.sol#522-593)\n\t- VaultCore.getAssetCount() (contracts/vault/VaultCore.sol#602-604)\n\t- VaultCore.getAllAssets() (contracts/vault/VaultCore.sol#609-611)\n", "markdown": "[VaultStorage.allAssets](contracts/vault/VaultStorage.sol#L62) is never initialized. It is used in:\n\t- [VaultCore._redeem(uint256,uint256)](contracts/vault/VaultCore.sol#L169-L233)\n\t- [VaultCore._allocate()](contracts/vault/VaultCore.sol#L301-L369)\n\t- [VaultCore._totalValueInVault()](contracts/vault/VaultCore.sol#L432-L440)\n\t- [VaultCore._totalValueInStrategy(address)](contracts/vault/VaultCore.sol#L457-L471)\n\t- [VaultCore._calculateRedeemOutputs(uint256)](contracts/vault/VaultCore.sol#L522-L593)\n\t- [VaultCore.getAssetCount()](contracts/vault/VaultCore.sol#L602-L604)\n\t- [VaultCore.getAllAssets()](contracts/vault/VaultCore.sol#L609-L611)\n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L62", "id": "e730fe429679f7811e61698e718568e8a56bd48136d661a5573f979234e6996c", "check": "uninitialized-state", "impact": "High", "confidence": "High"}, {"elements": [{"type": "variable", "name": "allStrategies", "source_mapping": {"start": 2688, "length": 32, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [70], "starting_column": 5, "ending_column": 37}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 828, "length": 4640, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146], "starting_column": 1, "ending_column": 2}}}}, {"type": "function", "name": "_totalValueInStrategies", "source_mapping": {"start": 16181, "length": 223, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [446, 447, 448, 449, 450], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "_totalValueInStrategies()"}}, {"type": "function", "name": "_checkBalance", "source_mapping": {"start": 17619, "length": 486, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "_checkBalance(address)"}}, {"type": "function", "name": "getStrategyCount", "source_mapping": {"start": 22363, "length": 104, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [616, 617, 618], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "getStrategyCount()"}}, {"type": "function", "name": "getAllStrategies", "source_mapping": {"start": 22536, "length": 106, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [623, 624, 625], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "getAllStrategies()"}}], "description": "VaultStorage.allStrategies (contracts/vault/VaultStorage.sol#70) is never initialized. It is used in:\n\t- VaultCore._totalValueInStrategies() (contracts/vault/VaultCore.sol#446-450)\n\t- VaultCore._checkBalance(address) (contracts/vault/VaultCore.sol#487-501)\n\t- VaultCore.getStrategyCount() (contracts/vault/VaultCore.sol#616-618)\n\t- VaultCore.getAllStrategies() (contracts/vault/VaultCore.sol#623-625)\n", "markdown": "[VaultStorage.allStrategies](contracts/vault/VaultStorage.sol#L70) is never initialized. It is used in:\n\t- [VaultCore._totalValueInStrategies()](contracts/vault/VaultCore.sol#L446-L450)\n\t- [VaultCore._checkBalance(address)](contracts/vault/VaultCore.sol#L487-L501)\n\t- [VaultCore.getStrategyCount()](contracts/vault/VaultCore.sol#L616-L618)\n\t- [VaultCore.getAllStrategies()](contracts/vault/VaultCore.sol#L623-L625)\n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L70", "id": "777cbcb013e313a3fd0021436d35e92824a94e210c1611ee051fc5d399d6661c", "check": "uninitialized-state", "impact": "High", "confidence": "High"}, {"elements": [{"type": "variable", "name": "priceProvider", "source_mapping": {"start": 2780, "length": 28, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [73], "starting_column": 5, "ending_column": 33}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 828, "length": 4640, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146], "starting_column": 1, "ending_column": 2}}}}, {"type": "function", "name": "mint", "source_mapping": {"start": 2178, "length": 1436, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "mint(address,uint256,uint256)"}}, {"type": "function", "name": "_calculateRedeemOutputs", "source_mapping": {"start": 18727, "length": 3082, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "_calculateRedeemOutputs(uint256)"}}], "description": "VaultStorage.priceProvider (contracts/vault/VaultStorage.sol#73) is never initialized. It is used in:\n\t- VaultCore.mint(address,uint256,uint256) (contracts/vault/VaultCore.sol#66-107)\n\t- VaultCore._calculateRedeemOutputs(uint256) (contracts/vault/VaultCore.sol#522-593)\n", "markdown": "[VaultStorage.priceProvider](contracts/vault/VaultStorage.sol#L73) is never initialized. It is used in:\n\t- [VaultCore.mint(address,uint256,uint256)](contracts/vault/VaultCore.sol#L66-L107)\n\t- [VaultCore._calculateRedeemOutputs(uint256)](contracts/vault/VaultCore.sol#L522-L593)\n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L73", "id": "eb7c2db1064787af6f239823c6b9223ba83a523396f8c7dc61c479282af97886", "check": "uninitialized-state", "impact": "High", "confidence": "High"}, {"elements": [{"type": "variable", "name": "redeemFeeBps", "source_mapping": {"start": 2949, "length": 27, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [78], "starting_column": 5, "ending_column": 32}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 828, "length": 4640, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146], "starting_column": 1, "ending_column": 2}}}}, {"type": "function", "name": "_calculateRedeemOutputs", "source_mapping": {"start": 18727, "length": 3082, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "_calculateRedeemOutputs(uint256)"}}], "description": "VaultStorage.redeemFeeBps (contracts/vault/VaultStorage.sol#78) is never initialized. It is used in:\n\t- VaultCore._calculateRedeemOutputs(uint256) (contracts/vault/VaultCore.sol#522-593)\n", "markdown": "[VaultStorage.redeemFeeBps](contracts/vault/VaultStorage.sol#L78) is never initialized. It is used in:\n\t- [VaultCore._calculateRedeemOutputs(uint256)](contracts/vault/VaultCore.sol#L522-L593)\n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L78", "id": "c4819c8bb26576b24a1992a0ece73900c1b258ae9f166389ef2521f675df5cb1", "check": "uninitialized-state", "impact": "High", "confidence": "High"}, {"elements": [{"type": "variable", "name": "vaultBuffer", "source_mapping": {"start": 3052, "length": 26, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [80], "starting_column": 5, "ending_column": 31}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 828, "length": 4640, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146], "starting_column": 1, "ending_column": 2}}}}, {"type": "function", "name": "_allocate", "source_mapping": {"start": 10672, "length": 2860, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "_allocate()"}}], "description": "VaultStorage.vaultBuffer (contracts/vault/VaultStorage.sol#80) is never initialized. It is used in:\n\t- VaultCore._allocate() (contracts/vault/VaultCore.sol#301-369)\n", "markdown": "[VaultStorage.vaultBuffer](contracts/vault/VaultStorage.sol#L80) is never initialized. It is used in:\n\t- [VaultCore._allocate()](contracts/vault/VaultCore.sol#L301-L369)\n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L80", "id": "7147ba0fbcdb532f72f8a1425c5779a2caf2d432ef22a51a9c541b90d6da121c", "check": "uninitialized-state", "impact": "High", "confidence": "High"}, {"elements": [{"type": "variable", "name": "autoAllocateThreshold", "source_mapping": {"start": 3157, "length": 36, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [82], "starting_column": 5, "ending_column": 41}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 828, "length": 4640, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146], "starting_column": 1, "ending_column": 2}}}}, {"type": "function", "name": "mint", "source_mapping": {"start": 2178, "length": 1436, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "mint(address,uint256,uint256)"}}], "description": "VaultStorage.autoAllocateThreshold (contracts/vault/VaultStorage.sol#82) is never initialized. It is used in:\n\t- VaultCore.mint(address,uint256,uint256) (contracts/vault/VaultCore.sol#66-107)\n", "markdown": "[VaultStorage.autoAllocateThreshold](contracts/vault/VaultStorage.sol#L82) is never initialized. It is used in:\n\t- [VaultCore.mint(address,uint256,uint256)](contracts/vault/VaultCore.sol#L66-L107)\n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L82", "id": "3d9c26c30d04bc19d1bc2436186d32a82dbdee2c98be4833dff1f7fefa80858d", "check": "uninitialized-state", "impact": "High", "confidence": "High"}, {"elements": [{"type": "variable", "name": "rebaseThreshold", "source_mapping": {"start": 3264, "length": 30, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [84], "starting_column": 5, "ending_column": 35}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 828, "length": 4640, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146], "starting_column": 1, "ending_column": 2}}}}, {"type": "function", "name": "mint", "source_mapping": {"start": 2178, "length": 1436, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "mint(address,uint256,uint256)"}}, {"type": "function", "name": "mintForStrategy", "source_mapping": {"start": 4345, "length": 813, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "mintForStrategy(uint256)"}}, {"type": "function", "name": "_redeem", "source_mapping": {"start": 5763, "length": 2485, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "_redeem(uint256,uint256)"}}, {"type": "function", "name": "burnForStrategy", "source_mapping": {"start": 8974, "length": 951, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "burnForStrategy(uint256)"}}], "description": "VaultStorage.rebaseThreshold (contracts/vault/VaultStorage.sol#84) is never initialized. It is used in:\n\t- VaultCore.mint(address,uint256,uint256) (contracts/vault/VaultCore.sol#66-107)\n\t- VaultCore.mintForStrategy(uint256) (contracts/vault/VaultCore.sol#122-147)\n\t- VaultCore._redeem(uint256,uint256) (contracts/vault/VaultCore.sol#169-233)\n\t- VaultCore.burnForStrategy(uint256) (contracts/vault/VaultCore.sol#248-275)\n", "markdown": "[VaultStorage.rebaseThreshold](contracts/vault/VaultStorage.sol#L84) is never initialized. It is used in:\n\t- [VaultCore.mint(address,uint256,uint256)](contracts/vault/VaultCore.sol#L66-L107)\n\t- [VaultCore.mintForStrategy(uint256)](contracts/vault/VaultCore.sol#L122-L147)\n\t- [VaultCore._redeem(uint256,uint256)](contracts/vault/VaultCore.sol#L169-L233)\n\t- [VaultCore.burnForStrategy(uint256)](contracts/vault/VaultCore.sol#L248-L275)\n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L84", "id": "b8efcc08277c777ff50a11fc931031018cad1a54978f03183217cd13dd183093", "check": "uninitialized-state", "impact": "High", "confidence": "High"}, {"elements": [{"type": "variable", "name": "oUSD", "source_mapping": {"start": 3301, "length": 18, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [86], "starting_column": 5, "ending_column": 23}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 828, "length": 4640, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146], "starting_column": 1, "ending_column": 2}}}}, {"type": "function", "name": "mint", "source_mapping": {"start": 2178, "length": 1436, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "mint(address,uint256,uint256)"}}, {"type": "function", "name": "mintForStrategy", "source_mapping": {"start": 4345, "length": 813, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "mintForStrategy(uint256)"}}, {"type": "function", "name": "_redeem", "source_mapping": {"start": 5763, "length": 2485, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "_redeem(uint256,uint256)"}}, {"type": "function", "name": "burnForStrategy", "source_mapping": {"start": 8974, "length": 951, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "burnForStrategy(uint256)"}}, {"type": "function", "name": "redeemAll", "source_mapping": {"start": 10087, "length": 190, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [281, 282, 283, 284, 285, 286, 287], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "redeemAll(uint256)"}}, {"type": "function", "name": "_rebase", "source_mapping": {"start": 13976, "length": 953, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [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], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "_rebase()"}}], "description": "VaultStorage.oUSD (contracts/vault/VaultStorage.sol#86) is never initialized. It is used in:\n\t- VaultCore.mint(address,uint256,uint256) (contracts/vault/VaultCore.sol#66-107)\n\t- VaultCore.mintForStrategy(uint256) (contracts/vault/VaultCore.sol#122-147)\n\t- VaultCore._redeem(uint256,uint256) (contracts/vault/VaultCore.sol#169-233)\n\t- VaultCore.burnForStrategy(uint256) (contracts/vault/VaultCore.sol#248-275)\n\t- VaultCore.redeemAll(uint256) (contracts/vault/VaultCore.sol#281-287)\n\t- VaultCore._rebase() (contracts/vault/VaultCore.sol#384-408)\n", "markdown": "[VaultStorage.oUSD](contracts/vault/VaultStorage.sol#L86) is never initialized. It is used in:\n\t- [VaultCore.mint(address,uint256,uint256)](contracts/vault/VaultCore.sol#L66-L107)\n\t- [VaultCore.mintForStrategy(uint256)](contracts/vault/VaultCore.sol#L122-L147)\n\t- [VaultCore._redeem(uint256,uint256)](contracts/vault/VaultCore.sol#L169-L233)\n\t- [VaultCore.burnForStrategy(uint256)](contracts/vault/VaultCore.sol#L248-L275)\n\t- [VaultCore.redeemAll(uint256)](contracts/vault/VaultCore.sol#L281-L287)\n\t- [VaultCore._rebase()](contracts/vault/VaultCore.sol#L384-L408)\n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L86", "id": "df26918b8bdd621ec118d2015bb8578817d734b6d3c33937967b164cadc2ace0", "check": "uninitialized-state", "impact": "High", "confidence": "High"}, {"elements": [{"type": "variable", "name": "maxSupplyDiff", "source_mapping": {"start": 4028, "length": 28, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [106], "starting_column": 5, "ending_column": 33}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 828, "length": 4640, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146], "starting_column": 1, "ending_column": 2}}}}, {"type": "function", "name": "_redeem", "source_mapping": {"start": 5763, "length": 2485, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 1068, "length": 25108, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729], "starting_column": 1, "ending_column": 2}}, "signature": "_redeem(uint256,uint256)"}}], "description": "VaultStorage.maxSupplyDiff (contracts/vault/VaultStorage.sol#106) is never initialized. It is used in:\n\t- VaultCore._redeem(uint256,uint256) (contracts/vault/VaultCore.sol#169-233)\n", "markdown": "[VaultStorage.maxSupplyDiff](contracts/vault/VaultStorage.sol#L106) is never initialized. It is used in:\n\t- [VaultCore._redeem(uint256,uint256)](contracts/vault/VaultCore.sol#L169-L233)\n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L106", "id": "6a3430804bec9d029a57ae03c02e8a40c310203865799000bf50016777b36f8f", "check": "uninitialized-state", "impact": "High", "confidence": "High"}, {"elements": [{"type": "variable", "name": "decimalsCache", "source_mapping": {"start": 4736, "length": 50, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [124], "starting_column": 5, "ending_column": 55}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 828, "length": 4497, "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141], "starting_column": 1, "ending_column": 2}}}}, {"type": "function", "name": "_getDecimals", "source_mapping": {"start": 23780, "length": 204, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [668, 669, 670, 671, 672], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 987, "length": 24439, "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717], "starting_column": 1, "ending_column": 2}}, "signature": "_getDecimals(address)"}}], "description": "VaultStorage.decimalsCache (contracts/vault/VaultStorage.sol#124) is never initialized. It is used in:\n\t- VaultCore._getDecimals(address) (contracts/vault/VaultCore.sol#668-672)\n", "markdown": "[VaultStorage.decimalsCache](contracts/vault/VaultStorage.sol#L124) is never initialized. It is used in:\n\t- [VaultCore._getDecimals(address)](contracts/vault/VaultCore.sol#L668-L672)\n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L124", "id": "ae957b4f96eb11ddea5ee4d030d41472ceee6954f34cde52618144ab869fa8c3", "check": "uninitialized-state", "impact": "High", "confidence": "High"}, {"elements": [{"type": "variable", "name": "assets", "source_mapping": {"start": 2283, "length": 41, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [57], "starting_column": 5, "ending_column": 46}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 828, "length": 3795, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126], "starting_column": 1, "ending_column": 2}}}}, {"type": "function", "name": "mint", "source_mapping": {"start": 1716, "length": 1511, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 874, "length": 22316, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639], "starting_column": 1, "ending_column": 2}}, "signature": "mint(address,uint256,uint256)"}}, {"type": "function", "name": "isSupportedAsset", "source_mapping": {"start": 21910, "length": 121, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [599, 600, 601], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 874, "length": 22316, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639], "starting_column": 1, "ending_column": 2}}, "signature": "isSupportedAsset(address)"}}], "description": "VaultStorage.assets (contracts/vault/VaultStorage.sol#57) is never initialized. It is used in:\n\t- VaultCore.mint(address,uint256,uint256) (contracts/vault/VaultCore.sol#53-97)\n\t- VaultCore.isSupportedAsset(address) (contracts/vault/VaultCore.sol#599-601)\n", "markdown": "[VaultStorage.assets](contracts/vault/VaultStorage.sol#L57) is never initialized. It is used in:\n\t- [VaultCore.mint(address,uint256,uint256)](contracts/vault/VaultCore.sol#L53-L97)\n\t- [VaultCore.isSupportedAsset(address)](contracts/vault/VaultCore.sol#L599-L601)\n", "first_markdown_element": "contracts/vault/VaultStorage.sol#L57", "id": "6a182c24e91d1dd53b0b1ef0dab5f77981ebaf050bd25c19b9cca70afaf18e67", "check": "uninitialized-state", "impact": "High", "confidence": "High"}, {"elements": [{"type": "variable", "name": "_decimals", "source_mapping": {"start": 393, "length": 23, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_relative": "contracts/token/OUSDResolutionUpgrade.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_short": "contracts/token/OUSDResolutionUpgrade.sol", "is_dependency": false, "lines": [19], "starting_column": 5, "ending_column": 28}, "type_specific_fields": {"parent": {"type": "contract", "name": "OUSDResolutionUpgrade", "source_mapping": {"start": 25, "length": 4062, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_relative": "contracts/token/OUSDResolutionUpgrade.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_short": "contracts/token/OUSDResolutionUpgrade.sol", "is_dependency": false, "lines": [3, 4, 5, 6, 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, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130], "starting_column": 1, "ending_column": 2}}}}], "description": "OUSDResolutionUpgrade._decimals (contracts/token/OUSDResolutionUpgrade.sol#19) should be constant\n", "markdown": "[OUSDResolutionUpgrade._decimals](contracts/token/OUSDResolutionUpgrade.sol#L19) should be constant\n", "first_markdown_element": "contracts/token/OUSDResolutionUpgrade.sol#L19", "id": "c6b2c8888913a809e3344ed0dee21191412ae3601896db9c573f735f6c3d7a8a", "check": "constable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "_name", "source_mapping": {"start": 339, "length": 20, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_relative": "contracts/token/OUSDResolutionUpgrade.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_short": "contracts/token/OUSDResolutionUpgrade.sol", "is_dependency": false, "lines": [17], "starting_column": 5, "ending_column": 25}, "type_specific_fields": {"parent": {"type": "contract", "name": "OUSDResolutionUpgrade", "source_mapping": {"start": 25, "length": 4062, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_relative": "contracts/token/OUSDResolutionUpgrade.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_short": "contracts/token/OUSDResolutionUpgrade.sol", "is_dependency": false, "lines": [3, 4, 5, 6, 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, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130], "starting_column": 1, "ending_column": 2}}}}], "description": "OUSDResolutionUpgrade._name (contracts/token/OUSDResolutionUpgrade.sol#17) should be constant\n", "markdown": "[OUSDResolutionUpgrade._name](contracts/token/OUSDResolutionUpgrade.sol#L17) should be constant\n", "first_markdown_element": "contracts/token/OUSDResolutionUpgrade.sol#L17", "id": "6956191c111bc7668de81941132c1a31576d2af9cfae5034646c97388cdec653", "check": "constable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "_symbol", "source_mapping": {"start": 365, "length": 22, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_relative": "contracts/token/OUSDResolutionUpgrade.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_short": "contracts/token/OUSDResolutionUpgrade.sol", "is_dependency": false, "lines": [18], "starting_column": 5, "ending_column": 27}, "type_specific_fields": {"parent": {"type": "contract", "name": "OUSDResolutionUpgrade", "source_mapping": {"start": 25, "length": 4062, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_relative": "contracts/token/OUSDResolutionUpgrade.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_short": "contracts/token/OUSDResolutionUpgrade.sol", "is_dependency": false, "lines": [3, 4, 5, 6, 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, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130], "starting_column": 1, "ending_column": 2}}}}], "description": "OUSDResolutionUpgrade._symbol (contracts/token/OUSDResolutionUpgrade.sol#18) should be constant\n", "markdown": "[OUSDResolutionUpgrade._symbol](contracts/token/OUSDResolutionUpgrade.sol#L18) should be constant\n", "first_markdown_element": "contracts/token/OUSDResolutionUpgrade.sol#L18", "id": "4a6b27b5189d0409bd8717ec6416071376f25ba75d9a3fcb2c617036aa554257", "check": "constable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "_totalSupply", "source_mapping": {"start": 510, "length": 27, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_relative": "contracts/token/OUSDResolutionUpgrade.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_short": "contracts/token/OUSDResolutionUpgrade.sol", "is_dependency": false, "lines": [23], "starting_column": 5, "ending_column": 32}, "type_specific_fields": {"parent": {"type": "contract", "name": "OUSDResolutionUpgrade", "source_mapping": {"start": 25, "length": 4062, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_relative": "contracts/token/OUSDResolutionUpgrade.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_short": "contracts/token/OUSDResolutionUpgrade.sol", "is_dependency": false, "lines": [3, 4, 5, 6, 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, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130], "starting_column": 1, "ending_column": 2}}}}], "description": "OUSDResolutionUpgrade._totalSupply (contracts/token/OUSDResolutionUpgrade.sol#23) should be constant\n", "markdown": "[OUSDResolutionUpgrade._totalSupply](contracts/token/OUSDResolutionUpgrade.sol#L23) should be constant\n", "first_markdown_element": "contracts/token/OUSDResolutionUpgrade.sol#L23", "id": "1658e506f1e0828cb824d099c91bb2a569de15dbd05bdc7f11b98a69a98f8638", "check": "constable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "initialized", "source_mapping": {"start": 166, "length": 24, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_relative": "contracts/token/OUSDResolutionUpgrade.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_short": "contracts/token/OUSDResolutionUpgrade.sol", "is_dependency": false, "lines": [11], "starting_column": 5, "ending_column": 29}, "type_specific_fields": {"parent": {"type": "contract", "name": "OUSDResolutionUpgrade", "source_mapping": {"start": 25, "length": 4062, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_relative": "contracts/token/OUSDResolutionUpgrade.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_short": "contracts/token/OUSDResolutionUpgrade.sol", "is_dependency": false, "lines": [3, 4, 5, 6, 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, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130], "starting_column": 1, "ending_column": 2}}}}], "description": "OUSDResolutionUpgrade.initialized (contracts/token/OUSDResolutionUpgrade.sol#11) should be constant\n", "markdown": "[OUSDResolutionUpgrade.initialized](contracts/token/OUSDResolutionUpgrade.sol#L11) should be constant\n", "first_markdown_element": "contracts/token/OUSDResolutionUpgrade.sol#L11", "id": "fefc27aa7f63a8fb938914b29bdf6913ea43894d2297e65bc64c63cf5cf82af9", "check": "constable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "initializing", "source_mapping": {"start": 196, "length": 25, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_relative": "contracts/token/OUSDResolutionUpgrade.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_short": "contracts/token/OUSDResolutionUpgrade.sol", "is_dependency": false, "lines": [12], "starting_column": 5, "ending_column": 30}, "type_specific_fields": {"parent": {"type": "contract", "name": "OUSDResolutionUpgrade", "source_mapping": {"start": 25, "length": 4062, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_relative": "contracts/token/OUSDResolutionUpgrade.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_short": "contracts/token/OUSDResolutionUpgrade.sol", "is_dependency": false, "lines": [3, 4, 5, 6, 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, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130], "starting_column": 1, "ending_column": 2}}}}], "description": "OUSDResolutionUpgrade.initializing (contracts/token/OUSDResolutionUpgrade.sol#12) should be constant\n", "markdown": "[OUSDResolutionUpgrade.initializing](contracts/token/OUSDResolutionUpgrade.sol#L12) should be constant\n", "first_markdown_element": "contracts/token/OUSDResolutionUpgrade.sol#L12", "id": "c69133d357c924089ed02bb4dde070a42b4bf6de4c0b65d348e468864973316a", "check": "constable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "nonRebasingSupply", "source_mapping": {"start": 803, "length": 32, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_relative": "contracts/token/OUSDResolutionUpgrade.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_short": "contracts/token/OUSDResolutionUpgrade.sol", "is_dependency": false, "lines": [29], "starting_column": 5, "ending_column": 37}, "type_specific_fields": {"parent": {"type": "contract", "name": "OUSDResolutionUpgrade", "source_mapping": {"start": 25, "length": 4062, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_relative": "contracts/token/OUSDResolutionUpgrade.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_short": "contracts/token/OUSDResolutionUpgrade.sol", "is_dependency": false, "lines": [3, 4, 5, 6, 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, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130], "starting_column": 1, "ending_column": 2}}}}], "description": "OUSDResolutionUpgrade.nonRebasingSupply (contracts/token/OUSDResolutionUpgrade.sol#29) should be constant\n", "markdown": "[OUSDResolutionUpgrade.nonRebasingSupply](contracts/token/OUSDResolutionUpgrade.sol#L29) should be constant\n", "first_markdown_element": "contracts/token/OUSDResolutionUpgrade.sol#L29", "id": "e17fd436e0a604cb7be2d272cdd362338280663a1a0aa613116ea1b3fbe6ebc9", "check": "constable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "vaultAddress", "source_mapping": {"start": 616, "length": 40, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_relative": "contracts/token/OUSDResolutionUpgrade.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_short": "contracts/token/OUSDResolutionUpgrade.sol", "is_dependency": false, "lines": [25], "starting_column": 5, "ending_column": 45}, "type_specific_fields": {"parent": {"type": "contract", "name": "OUSDResolutionUpgrade", "source_mapping": {"start": 25, "length": 4062, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_relative": "contracts/token/OUSDResolutionUpgrade.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol", "filename_short": "contracts/token/OUSDResolutionUpgrade.sol", "is_dependency": false, "lines": [3, 4, 5, 6, 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, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130], "starting_column": 1, "ending_column": 2}}}}], "description": "OUSDResolutionUpgrade.vaultAddress (contracts/token/OUSDResolutionUpgrade.sol#25) should be constant\n", "markdown": "[OUSDResolutionUpgrade.vaultAddress](contracts/token/OUSDResolutionUpgrade.sol#L25) should be constant\n", "first_markdown_element": "contracts/token/OUSDResolutionUpgrade.sol#L25", "id": "d17c40d13f23171f24f257c05a906ba4f825e300c024fcec7986d2bf6ed00657", "check": "constable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "isUpgraded", "source_mapping": {"start": 1875, "length": 45, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSD.sol", "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [52], "starting_column": 5, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "contract", "name": "OUSD", "source_mapping": {"start": 840, "length": 19113, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSD.sol", "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578], "starting_column": 1, "ending_column": 2}}}}, {"type": "function", "name": "creditsBalanceOfHighres", "source_mapping": {"start": 5205, "length": 322, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSD.sol", "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OUSD", "source_mapping": {"start": 840, "length": 19113, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSD.sol", "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578], "starting_column": 1, "ending_column": 2}}, "signature": "creditsBalanceOfHighres(address)"}}], "description": "OUSD.isUpgraded (contracts/token/OUSD.sol#52) is never initialized. It is used in:\n\t- OUSD.creditsBalanceOfHighres(address) (contracts/token/OUSD.sol#158-172)\n", "markdown": "[OUSD.isUpgraded](contracts/token/OUSD.sol#L52) is never initialized. It is used in:\n\t- [OUSD.creditsBalanceOfHighres(address)](contracts/token/OUSD.sol#L158-L172)\n", "first_markdown_element": "contracts/token/OUSD.sol#L52", "id": "1a9fd10ae49fbf202e5333c123ca53e5ea8614f3f7a5ace5a8e001758b5be263", "check": "uninitialized-state", "impact": "High", "confidence": "High"}, {"elements": [{"type": "function", "name": "scaleBy", "source_mapping": {"start": 781, "length": 288, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/utils/StableMath.sol", "filename_relative": "contracts/utils/StableMath.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/utils/StableMath.sol", "filename_short": "contracts/utils/StableMath.sol", "is_dependency": false, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StableMath", "source_mapping": {"start": 285, "length": 3569, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/utils/StableMath.sol", "filename_relative": "contracts/utils/StableMath.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/utils/StableMath.sol", "filename_short": "contracts/utils/StableMath.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114], "starting_column": 1, "ending_column": 2}}, "signature": "scaleBy(uint256,uint256,uint256)"}}, {"type": "node", "name": "x = x.mul(10 ** (to - from))", "source_mapping": {"start": 936, "length": 26, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/utils/StableMath.sol", "filename_relative": "contracts/utils/StableMath.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/utils/StableMath.sol", "filename_short": "contracts/utils/StableMath.sol", "is_dependency": false, "lines": [33], "starting_column": 13, "ending_column": 39}, "type_specific_fields": {"parent": {"type": "function", "name": "scaleBy", "source_mapping": {"start": 781, "length": 288, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/utils/StableMath.sol", "filename_relative": "contracts/utils/StableMath.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/utils/StableMath.sol", "filename_short": "contracts/utils/StableMath.sol", "is_dependency": false, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StableMath", "source_mapping": {"start": 285, "length": 3569, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/utils/StableMath.sol", "filename_relative": "contracts/utils/StableMath.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/utils/StableMath.sol", "filename_short": "contracts/utils/StableMath.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114], "starting_column": 1, "ending_column": 2}}, "signature": "scaleBy(uint256,uint256,uint256)"}}}}, {"type": "node", "name": "x = x.div(10 ** (from - to))", "source_mapping": {"start": 1008, "length": 26, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/utils/StableMath.sol", "filename_relative": "contracts/utils/StableMath.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/utils/StableMath.sol", "filename_short": "contracts/utils/StableMath.sol", "is_dependency": false, "lines": [35], "starting_column": 13, "ending_column": 39}, "type_specific_fields": {"parent": {"type": "function", "name": "scaleBy", "source_mapping": {"start": 781, "length": 288, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/utils/StableMath.sol", "filename_relative": "contracts/utils/StableMath.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/utils/StableMath.sol", "filename_short": "contracts/utils/StableMath.sol", "is_dependency": false, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StableMath", "source_mapping": {"start": 285, "length": 3569, "filename_used": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/utils/StableMath.sol", "filename_relative": "contracts/utils/StableMath.sol", "filename_absolute": "/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/utils/StableMath.sol", "filename_short": "contracts/utils/StableMath.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114], "starting_column": 1, "ending_column": 2}}, "signature": "scaleBy(uint256,uint256,uint256)"}}}}], "description": "StableMath.scaleBy(uint256,uint256,uint256) (contracts/utils/StableMath.sol#27-38) performs a multiplication on the result of a division:\n\t-x = x.mul(10 ** (to - from)) (contracts/utils/StableMath.sol#33)\n\t-x = x.div(10 ** (from - to)) (contracts/utils/StableMath.sol#35)\n", "markdown": "[StableMath.scaleBy(uint256,uint256,uint256)](contracts/utils/StableMath.sol#L27-L38) performs a multiplication on the result of a division:\n\t-[x = x.mul(10 ** (to - from))](contracts/utils/StableMath.sol#L33)\n\t-[x = x.div(10 ** (from - to))](contracts/utils/StableMath.sol#L35)\n", "first_markdown_element": "contracts/utils/StableMath.sol#L27-L38", "id": "b1500b45d44a127aa3729dda962b0f1fad4c4141dfa4fb20f46e1148cf288944", "check": "divide-before-multiply", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "addSwapToken", "source_mapping": {"start": 7974, "length": 644, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultAdmin", "source_mapping": {"start": 527, "length": 18940, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577], "starting_column": 1, "ending_column": 2}}, "signature": "addSwapToken(address)"}}, {"type": "node", "name": "IOracle(priceProvider).price(_addr)", "source_mapping": {"start": 8261, "length": 35, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [243], "starting_column": 9, "ending_column": 44}, "type_specific_fields": {"parent": {"type": "function", "name": "addSwapToken", "source_mapping": {"start": 7974, "length": 644, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultAdmin", "source_mapping": {"start": 527, "length": 18940, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577], "starting_column": 1, "ending_column": 2}}, "signature": "addSwapToken(address)"}}}}], "description": "VaultAdmin.addSwapToken(address) (contracts/vault/VaultAdmin.sol#235-255) ignores return value by IOracle(priceProvider).price(_addr) (contracts/vault/VaultAdmin.sol#243)\n", "markdown": "[VaultAdmin.addSwapToken(address)](contracts/vault/VaultAdmin.sol#L235-L255) ignores return value by [IOracle(priceProvider).price(_addr)](contracts/vault/VaultAdmin.sol#L243)\n", "first_markdown_element": "contracts/vault/VaultAdmin.sol#L235-L255", "id": "62ac1769a2c1d54d7ea6660de35020316e5057588e99010c778d43e01aacf3e2", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "addSwapToken", "source_mapping": {"start": 7510, "length": 644, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultAdmin", "source_mapping": {"start": 527, "length": 18435, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "addSwapToken(address)"}}, {"type": "node", "name": "IOracle(priceProvider).price(_addr)", "source_mapping": {"start": 7797, "length": 35, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [231], "starting_column": 9, "ending_column": 44}, "type_specific_fields": {"parent": {"type": "function", "name": "addSwapToken", "source_mapping": {"start": 7510, "length": 644, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.sol", "is_dependency": false, "lines": [223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultAdmin", "source_mapping": {"start": 527, "length": 18435, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_relative": "contracts/vault/VaultAdmin.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol", "filename_short": "contracts/vault/VaultAdmin.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561], "starting_column": 1, "ending_column": 2}}, "signature": "addSwapToken(address)"}}}}], "description": "VaultAdmin.addSwapToken(address) (contracts/vault/VaultAdmin.sol#223-243) ignores return value by IOracle(priceProvider).price(_addr) (contracts/vault/VaultAdmin.sol#231)\n", "markdown": "[VaultAdmin.addSwapToken(address)](contracts/vault/VaultAdmin.sol#L223-L243) ignores return value by [IOracle(priceProvider).price(_addr)](contracts/vault/VaultAdmin.sol#L231)\n", "first_markdown_element": "contracts/vault/VaultAdmin.sol#L223-L243", "id": "9c71d10f9809eae2cbece0fe66259b93d8a7423a5a0e5362b2e132b55970c1a9", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_allocate", "source_mapping": {"start": 9273, "length": 4326, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 621, "length": 24503, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686], "starting_column": 1, "ending_column": 2}}, "signature": "_allocate()"}}, {"type": "node", "name": "IVault(address(this)).harvest(allStrategies[i])", "source_mapping": {"start": 10657, "length": 47, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [289], "starting_column": 25, "ending_column": 72}, "type_specific_fields": {"parent": {"type": "function", "name": "_allocate", "source_mapping": {"start": 9273, "length": 4326, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 621, "length": 24503, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686], "starting_column": 1, "ending_column": 2}}, "signature": "_allocate()"}}}}], "description": "VaultCore._allocate() (contracts/vault/VaultCore.sol#266-362) ignores return value by IVault(address(this)).harvest(allStrategies[i]) (contracts/vault/VaultCore.sol#289)\n", "markdown": "[VaultCore._allocate()](contracts/vault/VaultCore.sol#L266-L362) ignores return value by [IVault(address(this)).harvest(allStrategies[i])](contracts/vault/VaultCore.sol#L289)\n", "id": "14738114fda112fc8f37877cd29cc70a2cd815ef7bd1c03a5a0774ec1e219673", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "contract", "name": "InitializableAbstractStrategy", "source_mapping": {"start": 449, "length": 8364, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263], "starting_column": 1, "ending_column": 2}}, {"type": "node", "name": "assetsMapped.push(_asset)", "source_mapping": {"start": 6547, "length": 25, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [189], "starting_column": 9, "ending_column": 34}, "type_specific_fields": {"parent": {"type": "function", "name": "_setPTokenAddress", "source_mapping": {"start": 6231, "length": 438, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "InitializableAbstractStrategy", "source_mapping": {"start": 449, "length": 8364, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263], "starting_column": 1, "ending_column": 2}}, "signature": "_setPTokenAddress(address,address)"}}}}], "description": "InitializableAbstractStrategy (contracts/utils/InitializableAbstractStrategy.sol#11-263) contract sets array length with a user-controlled value:\n\t- assetsMapped.push(_asset) (contracts/utils/InitializableAbstractStrategy.sol#189)\n", "markdown": "[InitializableAbstractStrategy](contracts/utils/InitializableAbstractStrategy.sol#L11-L263) contract sets array length with a user-controlled value:\n\t- [assetsMapped.push(_asset)](contracts/utils/InitializableAbstractStrategy.sol#L189)\n", "id": "381ac16a09532b8a5dfd39a5d7c89b8a098eed32925b60281cbd3b0fcad4f990", "check": "controlled-array-length", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_allocate", "source_mapping": {"start": 9273, "length": 4326, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 621, "length": 24503, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686], "starting_column": 1, "ending_column": 2}}, "signature": "_allocate()"}}, {"type": "node", "name": "IVault(address(this)).harvest(allStrategies[i])", "source_mapping": {"start": 10027, "length": 47, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [278], "starting_column": 21, "ending_column": 68}, "type_specific_fields": {"parent": {"type": "function", "name": "_allocate", "source_mapping": {"start": 9273, "length": 4326, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 621, "length": 24503, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686], "starting_column": 1, "ending_column": 2}}, "signature": "_allocate()"}}}}], "description": "VaultCore._allocate() (contracts/vault/VaultCore.sol#266-362) ignores return value by IVault(address(this)).harvest(allStrategies[i]) (contracts/vault/VaultCore.sol#278)\n", "markdown": "[VaultCore._allocate()](contracts/vault/VaultCore.sol#L266-L362) ignores return value by [IVault(address(this)).harvest(allStrategies[i])](contracts/vault/VaultCore.sol#L278)\n", "id": "7e2dac8db9a46c3c11c5d4b3e04cb5233cb9693607e01c54045f05b7dae4fc76", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "contract", "name": "InitializableAbstractStrategy", "source_mapping": {"start": 392, "length": 8280, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259], "starting_column": 1, "ending_column": 2}}, {"type": "node", "name": "assetsMapped.push(_asset)", "source_mapping": {"start": 6406, "length": 25, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [185], "starting_column": 9, "ending_column": 34}, "type_specific_fields": {"parent": {"type": "function", "name": "_setPTokenAddress", "source_mapping": {"start": 6090, "length": 438, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [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": "InitializableAbstractStrategy", "source_mapping": {"start": 392, "length": 8280, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259], "starting_column": 1, "ending_column": 2}}, "signature": "_setPTokenAddress(address,address)"}}}}], "description": "InitializableAbstractStrategy (contracts/utils/InitializableAbstractStrategy.sol#10-259) contract sets array length with a user-controlled value:\n\t- assetsMapped.push(_asset) (contracts/utils/InitializableAbstractStrategy.sol#185)\n", "markdown": "[InitializableAbstractStrategy](contracts/utils/InitializableAbstractStrategy.sol#L10-L259) contract sets array length with a user-controlled value:\n\t- [assetsMapped.push(_asset)](contracts/utils/InitializableAbstractStrategy.sol#L185)\n", "id": "30b7d9aab47a66b59f74bd13941e813c3b5a5ae6448a3f7679c53e7ddbe332ae", "check": "controlled-array-length", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "contract", "name": "InitializableAbstractStrategy", "source_mapping": {"start": 392, "length": 7885, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249], "starting_column": 1, "ending_column": 2}}, {"type": "node", "name": "assetsMapped.push(_asset)", "source_mapping": {"start": 6011, "length": 25, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [175], "starting_column": 9, "ending_column": 34}, "type_specific_fields": {"parent": {"type": "function", "name": "_setPTokenAddress", "source_mapping": {"start": 5695, "length": 438, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "InitializableAbstractStrategy", "source_mapping": {"start": 392, "length": 7885, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249], "starting_column": 1, "ending_column": 2}}, "signature": "_setPTokenAddress(address,address)"}}}}], "description": "InitializableAbstractStrategy (contracts/utils/InitializableAbstractStrategy.sol#10-249) contract sets array length with a user-controlled value:\n\t- assetsMapped.push(_asset) (contracts/utils/InitializableAbstractStrategy.sol#175)\n", "markdown": "[InitializableAbstractStrategy](contracts/utils/InitializableAbstractStrategy.sol#L10-L249) contract sets array length with a user-controlled value:\n\t- [assetsMapped.push(_asset)](contracts/utils/InitializableAbstractStrategy.sol#L175)\n", "id": "4768a672e113dfcc66a3411dcecbb416a83238a54329eb946079711430f271a2", "check": "controlled-array-length", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_allocate", "source_mapping": {"start": 9261, "length": 3882, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 621, "length": 24145, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678], "starting_column": 1, "ending_column": 2}}, "signature": "_allocate()"}}, {"type": "node", "name": "assetBalance == 0", "source_mapping": {"start": 10940, "length": 17, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [302], "starting_column": 17, "ending_column": 34}, "type_specific_fields": {"parent": {"type": "function", "name": "_allocate", "source_mapping": {"start": 9261, "length": 3882, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 621, "length": 24145, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678], "starting_column": 1, "ending_column": 2}}, "signature": "_allocate()"}}}}], "description": "VaultCore._allocate() (contracts/vault/VaultCore.sol#265-351) uses a dangerous strict equality:\n\t- assetBalance == 0 (contracts/vault/VaultCore.sol#302)\n", "markdown": "[VaultCore._allocate()](contracts/vault/VaultCore.sol#L265-L351) uses a dangerous strict equality:\n\t- [assetBalance == 0](contracts/vault/VaultCore.sol#L302)\n", "id": "68299d4d220bd6c43bb5621c4879a0d491e7543f1165aecf84c78d5c75097361", "check": "incorrect-equality", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "function", "name": "swap", "source_mapping": {"start": 2267, "length": 626, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/buyback/BuybackConstructor.sol", "filename_relative": "contracts/buyback/BuybackConstructor.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/buyback/BuybackConstructor.sol", "filename_short": "contracts/buyback/BuybackConstructor.sol", "is_dependency": false, "lines": [73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BuybackConstructor", "source_mapping": {"start": 319, "length": 2850, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/buyback/BuybackConstructor.sol", "filename_relative": "contracts/buyback/BuybackConstructor.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/buyback/BuybackConstructor.sol", "filename_short": "contracts/buyback/BuybackConstructor.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 1, "ending_column": 2}}, "signature": "swap()"}}, {"type": "node", "name": "IUniswapV2Router(uniswapAddr).swapExactTokensForTokens(sourceAmount,uint256(0),path,address(this),now)", "source_mapping": {"start": 2710, "length": 176, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/buyback/BuybackConstructor.sol", "filename_relative": "contracts/buyback/BuybackConstructor.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/buyback/BuybackConstructor.sol", "filename_short": "contracts/buyback/BuybackConstructor.sol", "is_dependency": false, "lines": [85, 86, 87, 88, 89, 90, 91], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "swap", "source_mapping": {"start": 2267, "length": 626, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/buyback/BuybackConstructor.sol", "filename_relative": "contracts/buyback/BuybackConstructor.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/buyback/BuybackConstructor.sol", "filename_short": "contracts/buyback/BuybackConstructor.sol", "is_dependency": false, "lines": [73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BuybackConstructor", "source_mapping": {"start": 319, "length": 2850, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/buyback/BuybackConstructor.sol", "filename_relative": "contracts/buyback/BuybackConstructor.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/buyback/BuybackConstructor.sol", "filename_short": "contracts/buyback/BuybackConstructor.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 1, "ending_column": 2}}, "signature": "swap()"}}}}], "description": "BuybackConstructor.swap() (contracts/buyback/BuybackConstructor.sol#73-92) ignores return value by IUniswapV2Router(uniswapAddr).swapExactTokensForTokens(sourceAmount,uint256(0),path,address(this),now) (contracts/buyback/BuybackConstructor.sol#85-91)\n", "markdown": "[BuybackConstructor.swap()](contracts/buyback/BuybackConstructor.sol#L73-L92) ignores return value by [IUniswapV2Router(uniswapAddr).swapExactTokensForTokens(sourceAmount,uint256(0),path,address(this),now)](contracts/buyback/BuybackConstructor.sol#L85-L91)\n", "id": "3cc3f6a6db631431fed154ac7a026944735135574cc350ab5b7af20075adf2bc", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "trusteeAddress", "source_mapping": {"start": 3698, "length": 29, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [101], "starting_column": 5, "ending_column": 34}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 807, "length": 3487, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120], "starting_column": 1, "ending_column": 2}}}}, {"type": "function", "name": "_allocate", "source_mapping": {"start": 9506, "length": 3882, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 621, "length": 24302, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681], "starting_column": 1, "ending_column": 2}}, "signature": "_allocate()"}}, {"type": "function", "name": "_rebase", "source_mapping": {"start": 13841, "length": 953, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [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], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 621, "length": 24302, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681], "starting_column": 1, "ending_column": 2}}, "signature": "_rebase()"}}], "description": "VaultStorage.trusteeAddress (contracts/vault/VaultStorage.sol#101) is never initialized. It is used in:\n\t- VaultCore._allocate() (contracts/vault/VaultCore.sol#271-357)\n\t- VaultCore._rebase() (contracts/vault/VaultCore.sol#372-396)\n", "markdown": "[VaultStorage.trusteeAddress](contracts/vault/VaultStorage.sol#L101) is never initialized. It is used in:\n\t- [VaultCore._allocate()](contracts/vault/VaultCore.sol#L271-L357)\n\t- [VaultCore._rebase()](contracts/vault/VaultCore.sol#L372-L396)\n", "id": "65e007df44c00b192cdedf6acb4c0c396774b55569e66aa864570ff224919500", "check": "uninitialized-state", "impact": "High", "confidence": "High"}, {"elements": [{"type": "function", "name": "_allocate", "source_mapping": {"start": 9506, "length": 3882, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 621, "length": 24302, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681], "starting_column": 1, "ending_column": 2}}, "signature": "_allocate()"}}, {"type": "node", "name": "assetBalance == 0", "source_mapping": {"start": 11185, "length": 17, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [308], "starting_column": 17, "ending_column": 34}, "type_specific_fields": {"parent": {"type": "function", "name": "_allocate", "source_mapping": {"start": 9506, "length": 3882, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 621, "length": 24302, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681], "starting_column": 1, "ending_column": 2}}, "signature": "_allocate()"}}}}], "description": "VaultCore._allocate() (contracts/vault/VaultCore.sol#271-357) uses a dangerous strict equality:\n\t- assetBalance == 0 (contracts/vault/VaultCore.sol#308)\n", "markdown": "[VaultCore._allocate()](contracts/vault/VaultCore.sol#L271-L357) uses a dangerous strict equality:\n\t- [assetBalance == 0](contracts/vault/VaultCore.sol#L308)\n", "id": "3cdb474d424497377560f2617a225571d094bc5a4d9068ed28cc039cf36bb0a9", "check": "incorrect-equality", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "function", "name": "swap", "source_mapping": {"start": 1716, "length": 626, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.sol", "is_dependency": false, "lines": [54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Buyback", "source_mapping": {"start": 319, "length": 2299, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85], "starting_column": 1, "ending_column": 2}}, "signature": "swap()"}}, {"type": "node", "name": "IUniswapV2Router(uniswapAddr).swapExactTokensForTokens(sourceAmount,uint256(0),path,address(this),now)", "source_mapping": {"start": 2159, "length": 176, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.sol", "is_dependency": false, "lines": [66, 67, 68, 69, 70, 71, 72], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "swap", "source_mapping": {"start": 1716, "length": 626, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.sol", "is_dependency": false, "lines": [54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Buyback", "source_mapping": {"start": 319, "length": 2299, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_relative": "contracts/buyback/Buyback.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/buyback/Buyback.sol", "filename_short": "contracts/buyback/Buyback.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85], "starting_column": 1, "ending_column": 2}}, "signature": "swap()"}}}}], "description": "Buyback.swap() (contracts/buyback/Buyback.sol#54-73) ignores return value by IUniswapV2Router(uniswapAddr).swapExactTokensForTokens(sourceAmount,uint256(0),path,address(this),now) (contracts/buyback/Buyback.sol#66-72)\n", "markdown": "[Buyback.swap()](contracts/buyback/Buyback.sol#L54-L73) ignores return value by [IUniswapV2Router(uniswapAddr).swapExactTokensForTokens(sourceAmount,uint256(0),path,address(this),now)](contracts/buyback/Buyback.sol#L66-L72)\n", "id": "4ced8a08a7a10442a6b73bc497693399dcb3627d49d0ffbe3233d32187059cba", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_allocate", "source_mapping": {"start": 9451, "length": 3809, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 566, "length": 24229, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677], "starting_column": 1, "ending_column": 2}}, "signature": "_allocate()"}}, {"type": "node", "name": "assetBalance == 0", "source_mapping": {"start": 11130, "length": 17, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [307], "starting_column": 17, "ending_column": 34}, "type_specific_fields": {"parent": {"type": "function", "name": "_allocate", "source_mapping": {"start": 9451, "length": 3809, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 566, "length": 24229, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677], "starting_column": 1, "ending_column": 2}}, "signature": "_allocate()"}}}}], "description": "VaultCore._allocate() (contracts/vault/VaultCore.sol#270-353) uses a dangerous strict equality:\n\t- assetBalance == 0 (contracts/vault/VaultCore.sol#307)\n", "markdown": "[VaultCore._allocate()](contracts/vault/VaultCore.sol#L270-L353) uses a dangerous strict equality:\n\t- [assetBalance == 0](contracts/vault/VaultCore.sol#L307)\n", "id": "67337dd8b3da36d12ebd0856bc1dd88acd22e740abd8d2e6e33a46a1d187e940", "check": "incorrect-equality", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "contract", "name": "Tether", "source_mapping": {"start": 402, "length": 248, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/flipper/Flipper.sol", "filename_relative": "contracts/flipper/Flipper.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/flipper/Flipper.sol", "filename_short": "contracts/flipper/Flipper.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23], "starting_column": 1, "ending_column": 2}}, {"type": "function", "name": "transfer", "source_mapping": {"start": 425, "length": 54, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/flipper/Flipper.sol", "filename_relative": "contracts/flipper/Flipper.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/flipper/Flipper.sol", "filename_short": "contracts/flipper/Flipper.sol", "is_dependency": false, "lines": [14], "starting_column": 5, "ending_column": 59}, "type_specific_fields": {"parent": {"type": "contract", "name": "Tether", "source_mapping": {"start": 402, "length": 248, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/flipper/Flipper.sol", "filename_relative": "contracts/flipper/Flipper.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/flipper/Flipper.sol", "filename_short": "contracts/flipper/Flipper.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23], "starting_column": 1, "ending_column": 2}}, "signature": "transfer(address,uint256)"}}], "description": "Tether (contracts/flipper/Flipper.sol#13-23) has incorrect ERC20 function interface:Tether.transfer(address,uint256) (contracts/flipper/Flipper.sol#14)\n", "markdown": "[Tether](contracts/flipper/Flipper.sol#L13-L23) has incorrect ERC20 function interface:[Tether.transfer(address,uint256)](contracts/flipper/Flipper.sol#L14)\n", "id": "e2f2abe06f3b5a5408c2013e6c7749baa5ffc112491baf17fb7381de0160bf62", "check": "erc20-interface", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "contract", "name": "Tether", "source_mapping": {"start": 402, "length": 248, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/flipper/Flipper.sol", "filename_relative": "contracts/flipper/Flipper.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/flipper/Flipper.sol", "filename_short": "contracts/flipper/Flipper.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23], "starting_column": 1, "ending_column": 2}}, {"type": "function", "name": "transferFrom", "source_mapping": {"start": 485, "length": 102, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/flipper/Flipper.sol", "filename_relative": "contracts/flipper/Flipper.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/flipper/Flipper.sol", "filename_short": "contracts/flipper/Flipper.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20], "starting_column": 5, "ending_column": 16}, "type_specific_fields": {"parent": {"type": "contract", "name": "Tether", "source_mapping": {"start": 402, "length": 248, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/flipper/Flipper.sol", "filename_relative": "contracts/flipper/Flipper.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/flipper/Flipper.sol", "filename_short": "contracts/flipper/Flipper.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23], "starting_column": 1, "ending_column": 2}}, "signature": "transferFrom(address,address,uint256)"}}], "description": "Tether (contracts/flipper/Flipper.sol#13-23) has incorrect ERC20 function interface:Tether.transferFrom(address,address,uint256) (contracts/flipper/Flipper.sol#16-20)\n", "markdown": "[Tether](contracts/flipper/Flipper.sol#L13-L23) has incorrect ERC20 function interface:[Tether.transferFrom(address,address,uint256)](contracts/flipper/Flipper.sol#L16-L20)\n", "id": "3ba32686b3afe7766e203671652c46578ceb76551174eb1d20789241a114e5db", "check": "erc20-interface", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "contract", "name": "InitializableAbstractStrategy", "source_mapping": {"start": 396, "length": 7885, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251], "starting_column": 1, "ending_column": 2}}, {"type": "node", "name": "assetsMapped.push(_asset)", "source_mapping": {"start": 6016, "length": 25, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [177], "starting_column": 9, "ending_column": 34}, "type_specific_fields": {"parent": {"type": "function", "name": "_setPTokenAddress", "source_mapping": {"start": 5700, "length": 438, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "InitializableAbstractStrategy", "source_mapping": {"start": 396, "length": 7885, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251], "starting_column": 1, "ending_column": 2}}, "signature": "_setPTokenAddress(address,address)"}}}}], "description": "InitializableAbstractStrategy (contracts/utils/InitializableAbstractStrategy.sol#12-251) contract sets array length with a user-controlled value:\n\t- assetsMapped.push(_asset) (contracts/utils/InitializableAbstractStrategy.sol#177)\n", "markdown": "[InitializableAbstractStrategy](contracts/utils/InitializableAbstractStrategy.sol#L12-L251) contract sets array length with a user-controlled value:\n\t- [assetsMapped.push(_asset)](contracts/utils/InitializableAbstractStrategy.sol#L177)\n", "id": "df38af393431fdde0ef600ae1071c57ca43fd15a0015a0d24d83245f0a52a803", "check": "controlled-array-length", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_deposit", "source_mapping": {"start": 1736, "length": 293, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [53, 54, 55, 56, 57, 58], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompoundStrategy", "source_mapping": {"start": 382, "length": 7749, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221], "starting_column": 1, "ending_column": 2}}, "signature": "_deposit(address,uint256)"}}, {"type": "node", "name": "require(bool,string)(cToken.mint(_amount) == 0,cToken mint failed)", "source_mapping": {"start": 1966, "length": 56, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [57], "starting_column": 9, "ending_column": 65}, "type_specific_fields": {"parent": {"type": "function", "name": "_deposit", "source_mapping": {"start": 1736, "length": 293, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [53, 54, 55, 56, 57, 58], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompoundStrategy", "source_mapping": {"start": 382, "length": 7749, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221], "starting_column": 1, "ending_column": 2}}, "signature": "_deposit(address,uint256)"}}}}], "description": "CompoundStrategy._deposit(address,uint256) (contracts/strategies/CompoundStrategy.sol#53-58) uses a dangerous strict equality:\n\t- require(bool,string)(cToken.mint(_amount) == 0,cToken mint failed) (contracts/strategies/CompoundStrategy.sol#57)\n", "markdown": "[CompoundStrategy._deposit(address,uint256)](contracts/strategies/CompoundStrategy.sol#L53-L58) uses a dangerous strict equality:\n\t- [require(bool,string)(cToken.mint(_amount) == 0,cToken mint failed)](contracts/strategies/CompoundStrategy.sol#L57)\n", "id": "7cadb11ad19feb7b0494f84f47faae7b851c89d2098787519c17eda83d7f73d6", "check": "incorrect-equality", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "function", "name": "withdrawAll", "source_mapping": {"start": 3595, "length": 720, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompoundStrategy", "source_mapping": {"start": 382, "length": 7749, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221], "starting_column": 1, "ending_column": 2}}, "signature": "withdrawAll()"}}, {"type": "node", "name": "require(bool,string)(cToken.redeem(cToken.balanceOf(address(this))) == 0,Redeem failed)", "source_mapping": {"start": 3901, "length": 135, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [108, 109, 110, 111], "starting_column": 17, "ending_column": 18}, "type_specific_fields": {"parent": {"type": "function", "name": "withdrawAll", "source_mapping": {"start": 3595, "length": 720, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompoundStrategy", "source_mapping": {"start": 382, "length": 7749, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221], "starting_column": 1, "ending_column": 2}}, "signature": "withdrawAll()"}}}}], "description": "CompoundStrategy.withdrawAll() (contracts/strategies/CompoundStrategy.sol#103-120) uses a dangerous strict equality:\n\t- require(bool,string)(cToken.redeem(cToken.balanceOf(address(this))) == 0,Redeem failed) (contracts/strategies/CompoundStrategy.sol#108-111)\n", "markdown": "[CompoundStrategy.withdrawAll()](contracts/strategies/CompoundStrategy.sol#L103-L120) uses a dangerous strict equality:\n\t- [require(bool,string)(cToken.redeem(cToken.balanceOf(address(this))) == 0,Redeem failed)](contracts/strategies/CompoundStrategy.sol#L108-L111)\n", "id": "d32d63d9464f5701e2db9f5630c6fce80c9c5404aeecf34e08b2860fbca2e756", "check": "incorrect-equality", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "variable", "name": "trusteeFeeBps", "source_mapping": {"start": 3782, "length": 28, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [104], "starting_column": 5, "ending_column": 33}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 807, "length": 3486, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120], "starting_column": 1, "ending_column": 2}}}}, {"type": "function", "name": "_rebase", "source_mapping": {"start": 13775, "length": 953, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [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], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 578, "length": 24561, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686], "starting_column": 1, "ending_column": 2}}, "signature": "_rebase()"}}], "description": "VaultStorage.trusteeFeeBps (contracts/vault/VaultStorage.sol#104) is never initialized. It is used in:\n\t- VaultCore._rebase() (contracts/vault/VaultCore.sol#370-394)\n", "markdown": "[VaultStorage.trusteeFeeBps](contracts/vault/VaultStorage.sol#L104) is never initialized. It is used in:\n\t- [VaultCore._rebase()](contracts/vault/VaultCore.sol#L370-L394)\n", "id": "6026824a262c80dba27267266bd932f6ced8a0ab28731a229e2747099e556a33", "check": "uninitialized-state", "impact": "High", "confidence": "High"}, {"elements": [{"type": "variable", "name": "trusteeAddress", "source_mapping": {"start": 3699, "length": 29, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [101], "starting_column": 5, "ending_column": 34}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 807, "length": 3490, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120], "starting_column": 1, "ending_column": 2}}}}, {"type": "function", "name": "_rebase", "source_mapping": {"start": 13871, "length": 960, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [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], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 578, "length": 24664, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688], "starting_column": 1, "ending_column": 2}}, "signature": "_rebase()"}}], "description": "VaultStorage.trusteeAddress (contracts/vault/VaultStorage.sol#101) is never initialized. It is used in:\n\t- VaultCore._rebase() (contracts/vault/VaultCore.sol#372-396)\n", "markdown": "[VaultStorage.trusteeAddress](contracts/vault/VaultStorage.sol#L101) is never initialized. It is used in:\n\t- [VaultCore._rebase()](contracts/vault/VaultCore.sol#L372-L396)\n", "id": "38c6f1922de1e66b8be48d1e73897a517a266abf443487b0429c6d6070aa67d7", "check": "uninitialized-state", "impact": "High", "confidence": "High"}, {"elements": [{"type": "variable", "name": "trusteeFeeBasis", "source_mapping": {"start": 3784, "length": 30, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [104], "starting_column": 5, "ending_column": 35}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 807, "length": 3490, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120], "starting_column": 1, "ending_column": 2}}}}, {"type": "function", "name": "_rebase", "source_mapping": {"start": 13871, "length": 960, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [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], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 578, "length": 24664, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688], "starting_column": 1, "ending_column": 2}}, "signature": "_rebase()"}}], "description": "VaultStorage.trusteeFeeBasis (contracts/vault/VaultStorage.sol#104) is never initialized. It is used in:\n\t- VaultCore._rebase() (contracts/vault/VaultCore.sol#372-396)\n", "markdown": "[VaultStorage.trusteeFeeBasis](contracts/vault/VaultStorage.sol#L104) is never initialized. It is used in:\n\t- [VaultCore._rebase()](contracts/vault/VaultCore.sol#L372-L396)\n", "id": "3f7908a03d07c1a38ed6e02e0e85b2e0e3e7b96dcad11d66ac62102edf3951f9", "check": "uninitialized-state", "impact": "High", "confidence": "High"}, {"elements": [{"type": "function", "name": "scaleBy", "source_mapping": {"start": 734, "length": 308, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/StableMath.sol", "filename_relative": "contracts/utils/StableMath.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/StableMath.sol", "filename_short": "contracts/utils/StableMath.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StableMath", "source_mapping": {"start": 242, "length": 3585, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/StableMath.sol", "filename_relative": "contracts/utils/StableMath.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/StableMath.sol", "filename_short": "contracts/utils/StableMath.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112], "starting_column": 1, "ending_column": 2}}, "signature": "scaleBy(uint256,int8)"}}, {"type": "node", "name": "x = x.mul(10 ** uint256(adjustment))", "source_mapping": {"start": 883, "length": 34, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/StableMath.sol", "filename_relative": "contracts/utils/StableMath.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/StableMath.sol", "filename_short": "contracts/utils/StableMath.sol", "is_dependency": false, "lines": [31], "starting_column": 13, "ending_column": 47}, "type_specific_fields": {"parent": {"type": "function", "name": "scaleBy", "source_mapping": {"start": 734, "length": 308, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/StableMath.sol", "filename_relative": "contracts/utils/StableMath.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/StableMath.sol", "filename_short": "contracts/utils/StableMath.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StableMath", "source_mapping": {"start": 242, "length": 3585, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/StableMath.sol", "filename_relative": "contracts/utils/StableMath.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/StableMath.sol", "filename_short": "contracts/utils/StableMath.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112], "starting_column": 1, "ending_column": 2}}, "signature": "scaleBy(uint256,int8)"}}}}, {"type": "node", "name": "x = x.div(10 ** uint256(adjustment * - 1))", "source_mapping": {"start": 968, "length": 39, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/StableMath.sol", "filename_relative": "contracts/utils/StableMath.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/StableMath.sol", "filename_short": "contracts/utils/StableMath.sol", "is_dependency": false, "lines": [33], "starting_column": 13, "ending_column": 52}, "type_specific_fields": {"parent": {"type": "function", "name": "scaleBy", "source_mapping": {"start": 734, "length": 308, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/StableMath.sol", "filename_relative": "contracts/utils/StableMath.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/StableMath.sol", "filename_short": "contracts/utils/StableMath.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StableMath", "source_mapping": {"start": 242, "length": 3585, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/StableMath.sol", "filename_relative": "contracts/utils/StableMath.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/StableMath.sol", "filename_short": "contracts/utils/StableMath.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112], "starting_column": 1, "ending_column": 2}}, "signature": "scaleBy(uint256,int8)"}}}}], "description": "StableMath.scaleBy(uint256,int8) (contracts/utils/StableMath.sol#25-36) performs a multiplication on the result of a division:\n\t-x = x.mul(10 ** uint256(adjustment)) (contracts/utils/StableMath.sol#31)\n\t-x = x.div(10 ** uint256(adjustment * - 1)) (contracts/utils/StableMath.sol#33)\n", "markdown": "[StableMath.scaleBy(uint256,int8)](contracts/utils/StableMath.sol#L25-L36) performs a multiplication on the result of a division:\n\t-[x = x.mul(10 ** uint256(adjustment))](contracts/utils/StableMath.sol#L31)\n\t-[x = x.div(10 ** uint256(adjustment * - 1))](contracts/utils/StableMath.sol#L33)\n", "id": "db2ef8c1daf9b02deedbcc86671a36b6336566289f0ec3f91ff45f5afe31fd91", "check": "divide-before-multiply", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "withdrawAll", "source_mapping": {"start": 2862, "length": 720, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompoundStrategy", "source_mapping": {"start": 382, "length": 7016, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [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], "starting_column": 1, "ending_column": 2}}, "signature": "withdrawAll()"}}, {"type": "node", "name": "require(bool,string)(cToken.redeem(cToken.balanceOf(address(this))) == 0,Redeem failed)", "source_mapping": {"start": 3168, "length": 135, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [87, 88, 89, 90], "starting_column": 17, "ending_column": 18}, "type_specific_fields": {"parent": {"type": "function", "name": "withdrawAll", "source_mapping": {"start": 2862, "length": 720, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompoundStrategy", "source_mapping": {"start": 382, "length": 7016, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [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], "starting_column": 1, "ending_column": 2}}, "signature": "withdrawAll()"}}}}], "description": "CompoundStrategy.withdrawAll() (contracts/strategies/CompoundStrategy.sol#82-99) uses a dangerous strict equality:\n\t- require(bool,string)(cToken.redeem(cToken.balanceOf(address(this))) == 0,Redeem failed) (contracts/strategies/CompoundStrategy.sol#87-90)\n", "markdown": "[CompoundStrategy.withdrawAll()](contracts/strategies/CompoundStrategy.sol#L82-L99) uses a dangerous strict equality:\n\t- [require(bool,string)(cToken.redeem(cToken.balanceOf(address(this))) == 0,Redeem failed)](contracts/strategies/CompoundStrategy.sol#L87-L90)\n", "id": "5dce02849df598583a9b3a98ec07f6415c6f4d1dac892a6807845e3f68e3f38f", "check": "incorrect-equality", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "function", "name": "balanceOf", "source_mapping": {"start": 2744, "length": 223, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [83, 84, 85, 86, 87], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OUSD", "source_mapping": {"start": 829, "length": 17607, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 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], "starting_column": 1, "ending_column": 2}}, "signature": "balanceOf(address)"}}, {"type": "node", "name": "_creditBalances[_account] == 0", "source_mapping": {"start": 2825, "length": 30, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [84], "starting_column": 13, "ending_column": 43}, "type_specific_fields": {"parent": {"type": "function", "name": "balanceOf", "source_mapping": {"start": 2744, "length": 223, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [83, 84, 85, 86, 87], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OUSD", "source_mapping": {"start": 829, "length": 17607, "filename_used": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 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], "starting_column": 1, "ending_column": 2}}, "signature": "balanceOf(address)"}}}}], "description": "OUSD.balanceOf(address) (contracts/token/OUSD.sol#83-87) uses a dangerous strict equality:\n\t- _creditBalances[_account] == 0 (contracts/token/OUSD.sol#84)\n", "markdown": "[OUSD.balanceOf(address)](contracts/token/OUSD.sol#L83-L87) uses a dangerous strict equality:\n\t- [_creditBalances[_account] == 0](contracts/token/OUSD.sol#L84)\n", "id": "ccb46234e07af49545e8f6ec6328d958fa1c2f6c5bc4170dbf99f57e4003ebeb", "check": "incorrect-equality", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "function", "name": "balanceOf", "source_mapping": {"start": 2849, "length": 223, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [87, 88, 89, 90, 91], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OUSD", "source_mapping": {"start": 829, "length": 16903, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 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], "starting_column": 1, "ending_column": 2}}, "signature": "balanceOf(address)"}}, {"type": "node", "name": "_creditBalances[_account] == 0", "source_mapping": {"start": 2930, "length": 30, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [88], "starting_column": 13, "ending_column": 43}, "type_specific_fields": {"parent": {"type": "function", "name": "balanceOf", "source_mapping": {"start": 2849, "length": 223, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [87, 88, 89, 90, 91], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OUSD", "source_mapping": {"start": 829, "length": 16903, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 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], "starting_column": 1, "ending_column": 2}}, "signature": "balanceOf(address)"}}}}], "description": "OUSD.balanceOf(address) (contracts/token/OUSD.sol#87-91) uses a dangerous strict equality:\n\t- _creditBalances[_account] == 0 (contracts/token/OUSD.sol#88)\n", "markdown": "[OUSD.balanceOf(address)](contracts/token/OUSD.sol#L87-L91) uses a dangerous strict equality:\n\t- [_creditBalances[_account] == 0](contracts/token/OUSD.sol#L88)\n", "id": "ac0ff05bcf967595b64b2a24b53884cfca5e30e06792da3ba40104ab169d77a4", "check": "incorrect-equality", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "contract", "name": "InitializableAbstractStrategy", "source_mapping": {"start": 396, "length": 8222, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262], "starting_column": 1, "ending_column": 2}}, {"type": "node", "name": "assetsMapped.push(_asset)", "source_mapping": {"start": 6476, "length": 25, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [193], "starting_column": 9, "ending_column": 34}, "type_specific_fields": {"parent": {"type": "function", "name": "_setPTokenAddress", "source_mapping": {"start": 6160, "length": 438, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "InitializableAbstractStrategy", "source_mapping": {"start": 396, "length": 8222, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_relative": "contracts/utils/InitializableAbstractStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol", "filename_short": "contracts/utils/InitializableAbstractStrategy.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262], "starting_column": 1, "ending_column": 2}}, "signature": "_setPTokenAddress(address,address)"}}}}], "description": "InitializableAbstractStrategy (contracts/utils/InitializableAbstractStrategy.sol#12-262) contract sets array length with a user-controlled value:\n\t- assetsMapped.push(_asset) (contracts/utils/InitializableAbstractStrategy.sol#193)\n", "markdown": "[InitializableAbstractStrategy](contracts/utils/InitializableAbstractStrategy.sol#L12-L262) contract sets array length with a user-controlled value:\n\t- [assetsMapped.push(_asset)](contracts/utils/InitializableAbstractStrategy.sol#L193)\n", "id": "e99c44d951e76857b3f5bfc5cdccca773021441bfde515673b7eccdad421c7e3", "check": "controlled-array-length", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "executeTransaction", "source_mapping": {"start": 4393, "length": 1470, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/timelock/MinuteTimelock.sol", "filename_relative": "contracts/timelock/MinuteTimelock.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/timelock/MinuteTimelock.sol", "filename_short": "contracts/timelock/MinuteTimelock.sol", "is_dependency": false, "lines": [160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 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": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MinuteTimelock", "source_mapping": {"start": 300, "length": 5733, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/timelock/MinuteTimelock.sol", "filename_relative": "contracts/timelock/MinuteTimelock.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/timelock/MinuteTimelock.sol", "filename_short": "contracts/timelock/MinuteTimelock.sol", "is_dependency": false, "lines": [11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214], "starting_column": 1, "ending_column": 2}}, "signature": "executeTransaction(address,uint256,string,bytes,uint256)"}}, {"type": "node", "name": "(success,returnData) = target.call.value(value)(callData)", "source_mapping": {"start": 5526, "length": 98, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/timelock/MinuteTimelock.sol", "filename_relative": "contracts/timelock/MinuteTimelock.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/timelock/MinuteTimelock.sol", "filename_short": "contracts/timelock/MinuteTimelock.sol", "is_dependency": false, "lines": [197, 198, 199], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "executeTransaction", "source_mapping": {"start": 4393, "length": 1470, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/timelock/MinuteTimelock.sol", "filename_relative": "contracts/timelock/MinuteTimelock.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/timelock/MinuteTimelock.sol", "filename_short": "contracts/timelock/MinuteTimelock.sol", "is_dependency": false, "lines": [160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 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": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MinuteTimelock", "source_mapping": {"start": 300, "length": 5733, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/timelock/MinuteTimelock.sol", "filename_relative": "contracts/timelock/MinuteTimelock.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/timelock/MinuteTimelock.sol", "filename_short": "contracts/timelock/MinuteTimelock.sol", "is_dependency": false, "lines": [11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214], "starting_column": 1, "ending_column": 2}}, "signature": "executeTransaction(address,uint256,string,bytes,uint256)"}}}}], "description": "MinuteTimelock.executeTransaction(address,uint256,string,bytes,uint256) (contracts/timelock/MinuteTimelock.sol#160-208) sends eth to arbitrary user\n\tDangerous calls:\n\t- (success,returnData) = target.call.value(value)(callData) (contracts/timelock/MinuteTimelock.sol#197-199)\n", "markdown": "[MinuteTimelock.executeTransaction(address,uint256,string,bytes,uint256)](contracts/timelock/MinuteTimelock.sol#L160-L208) sends eth to arbitrary user\n\tDangerous calls:\n\t- [(success,returnData) = target.call.value(value)(callData)](contracts/timelock/MinuteTimelock.sol#L197-L199)\n", "id": "adb27b2223ce1f61a53972f79799586ca089e9afc5f2eacfe3b6af935426ae32", "check": "arbitrary-send", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "assets", "source_mapping": {"start": 1854, "length": 32, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [51], "starting_column": 5, "ending_column": 37}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 738, "length": 3013, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106], "starting_column": 1, "ending_column": 2}}}}, {"type": "function", "name": "mint", "source_mapping": {"start": 1313, "length": 1551, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 578, "length": 23987, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680], "starting_column": 1, "ending_column": 2}}, "signature": "mint(address,uint256,uint256)"}}, {"type": "function", "name": "mintMultiple", "source_mapping": {"start": 3165, "length": 2120, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 578, "length": 23987, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680], "starting_column": 1, "ending_column": 2}}, "signature": "mintMultiple(address[],uint256[],uint256)"}}, {"type": "function", "name": "isSupportedAsset", "source_mapping": {"start": 23379, "length": 121, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [647, 648, 649], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 578, "length": 23987, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680], "starting_column": 1, "ending_column": 2}}, "signature": "isSupportedAsset(address)"}}], "description": "VaultStorage.assets (contracts/vault/VaultStorage.sol#51) is never initialized. It is used in:\n\t- VaultCore.mint(address,uint256,uint256) (contracts/vault/VaultCore.sol#42-87)\n\t- VaultCore.mintMultiple(address[],uint256[],uint256) (contracts/vault/VaultCore.sol#96-153)\n\t- VaultCore.isSupportedAsset(address) (contracts/vault/VaultCore.sol#647-649)\n", "markdown": "[VaultStorage.assets](contracts/vault/VaultStorage.sol#L51) is never initialized. It is used in:\n\t- [VaultCore.mint(address,uint256,uint256)](contracts/vault/VaultCore.sol#L42-L87)\n\t- [VaultCore.mintMultiple(address[],uint256[],uint256)](contracts/vault/VaultCore.sol#L96-L153)\n\t- [VaultCore.isSupportedAsset(address)](contracts/vault/VaultCore.sol#L647-L649)\n", "id": "b5f535d2516b1f696e381fc7ef334ac08dab475e61c7fd193ef8eb0498172128", "check": "uninitialized-state", "impact": "High", "confidence": "High"}, {"elements": [{"type": "variable", "name": "allAssets", "source_mapping": {"start": 1892, "length": 19, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [52], "starting_column": 5, "ending_column": 24}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 738, "length": 3013, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106], "starting_column": 1, "ending_column": 2}}}}, {"type": "function", "name": "mintMultiple", "source_mapping": {"start": 3165, "length": 2120, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 578, "length": 23987, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680], "starting_column": 1, "ending_column": 2}}, "signature": "mintMultiple(address[],uint256[],uint256)"}}, {"type": "function", "name": "_redeem", "source_mapping": {"start": 5959, "length": 2568, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 578, "length": 23987, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680], "starting_column": 1, "ending_column": 2}}, "signature": "_redeem(uint256,uint256)"}}, {"type": "function", "name": "_allocate", "source_mapping": {"start": 9491, "length": 3809, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 578, "length": 23987, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680], "starting_column": 1, "ending_column": 2}}, "signature": "_allocate()"}}, {"type": "function", "name": "_totalValueInVault", "source_mapping": {"start": 14993, "length": 456, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 578, "length": 23987, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680], "starting_column": 1, "ending_column": 2}}, "signature": "_totalValueInVault()"}}, {"type": "function", "name": "_totalValueInStrategy", "source_mapping": {"start": 16033, "length": 605, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 578, "length": 23987, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680], "starting_column": 1, "ending_column": 2}}, "signature": "_totalValueInStrategy(address)"}}, {"type": "function", "name": "_checkBalance", "source_mapping": {"start": 17760, "length": 347, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [491, 492, 493, 494, 495, 496, 497, 498, 499], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 578, "length": 23987, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680], "starting_column": 1, "ending_column": 2}}, "signature": "_checkBalance()"}}, {"type": "function", "name": "_calculateRedeemOutputs", "source_mapping": {"start": 18615, "length": 3196, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 578, "length": 23987, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680], "starting_column": 1, "ending_column": 2}}, "signature": "_calculateRedeemOutputs(uint256)"}}, {"type": "function", "name": "_getAssetPrices", "source_mapping": {"start": 21960, "length": 754, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 578, "length": 23987, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680], "starting_column": 1, "ending_column": 2}}, "signature": "_getAssetPrices(bool)"}}, {"type": "function", "name": "getAssetCount", "source_mapping": {"start": 22919, "length": 95, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [629, 630, 631], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 578, "length": 23987, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680], "starting_column": 1, "ending_column": 2}}, "signature": "getAssetCount()"}}, {"type": "function", "name": "getAllAssets", "source_mapping": {"start": 23084, "length": 98, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [636, 637, 638], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 578, "length": 23987, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680], "starting_column": 1, "ending_column": 2}}, "signature": "getAllAssets()"}}], "description": "VaultStorage.allAssets (contracts/vault/VaultStorage.sol#52) is never initialized. It is used in:\n\t- VaultCore.mintMultiple(address[],uint256[],uint256) (contracts/vault/VaultCore.sol#96-153)\n\t- VaultCore._redeem(uint256,uint256) (contracts/vault/VaultCore.sol#176-241)\n\t- VaultCore._allocate() (contracts/vault/VaultCore.sol#272-355)\n\t- VaultCore._totalValueInVault() (contracts/vault/VaultCore.sol#412-422)\n\t- VaultCore._totalValueInStrategy(address) (contracts/vault/VaultCore.sol#440-456)\n\t- VaultCore._checkBalance() (contracts/vault/VaultCore.sol#491-499)\n\t- VaultCore._calculateRedeemOutputs(uint256) (contracts/vault/VaultCore.sol#518-594)\n\t- VaultCore._getAssetPrices(bool) (contracts/vault/VaultCore.sol#600-620)\n\t- VaultCore.getAssetCount() (contracts/vault/VaultCore.sol#629-631)\n\t- VaultCore.getAllAssets() (contracts/vault/VaultCore.sol#636-638)\n", "markdown": "[VaultStorage.allAssets](contracts/vault/VaultStorage.sol#L52) is never initialized. It is used in:\n\t- [VaultCore.mintMultiple(address[],uint256[],uint256)](contracts/vault/VaultCore.sol#L96-L153)\n\t- [VaultCore._redeem(uint256,uint256)](contracts/vault/VaultCore.sol#L176-L241)\n\t- [VaultCore._allocate()](contracts/vault/VaultCore.sol#L272-L355)\n\t- [VaultCore._totalValueInVault()](contracts/vault/VaultCore.sol#L412-L422)\n\t- [VaultCore._totalValueInStrategy(address)](contracts/vault/VaultCore.sol#L440-L456)\n\t- [VaultCore._checkBalance()](contracts/vault/VaultCore.sol#L491-L499)\n\t- [VaultCore._calculateRedeemOutputs(uint256)](contracts/vault/VaultCore.sol#L518-L594)\n\t- [VaultCore._getAssetPrices(bool)](contracts/vault/VaultCore.sol#L600-L620)\n\t- [VaultCore.getAssetCount()](contracts/vault/VaultCore.sol#L629-L631)\n\t- [VaultCore.getAllAssets()](contracts/vault/VaultCore.sol#L636-L638)\n", "id": "a0bcee4b84d596e46f4bdc315977842c894250f10de805d7cb76ef572ecc6eed", "check": "uninitialized-state", "impact": "High", "confidence": "High"}, {"elements": [{"type": "variable", "name": "allStrategies", "source_mapping": {"start": 2121, "length": 23, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [60], "starting_column": 5, "ending_column": 28}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 738, "length": 3013, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106], "starting_column": 1, "ending_column": 2}}}}, {"type": "function", "name": "_allocate", "source_mapping": {"start": 9491, "length": 3809, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 578, "length": 23987, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680], "starting_column": 1, "ending_column": 2}}, "signature": "_allocate()"}}, {"type": "function", "name": "_totalValueInStrategies", "source_mapping": {"start": 15600, "length": 232, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [428, 429, 430, 431, 432, 433], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 578, "length": 23987, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680], "starting_column": 1, "ending_column": 2}}, "signature": "_totalValueInStrategies()"}}, {"type": "function", "name": "_checkBalance", "source_mapping": {"start": 17149, "length": 458, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 578, "length": 23987, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680], "starting_column": 1, "ending_column": 2}}, "signature": "_checkBalance(address)"}}, {"type": "function", "name": "getStrategyCount", "source_mapping": {"start": 23269, "length": 104, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [643, 644, 645], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 578, "length": 23987, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680], "starting_column": 1, "ending_column": 2}}, "signature": "getStrategyCount()"}}], "description": "VaultStorage.allStrategies (contracts/vault/VaultStorage.sol#60) is never initialized. It is used in:\n\t- VaultCore._allocate() (contracts/vault/VaultCore.sol#272-355)\n\t- VaultCore._totalValueInStrategies() (contracts/vault/VaultCore.sol#428-433)\n\t- VaultCore._checkBalance(address) (contracts/vault/VaultCore.sol#472-485)\n\t- VaultCore.getStrategyCount() (contracts/vault/VaultCore.sol#643-645)\n", "markdown": "[VaultStorage.allStrategies](contracts/vault/VaultStorage.sol#L60) is never initialized. It is used in:\n\t- [VaultCore._allocate()](contracts/vault/VaultCore.sol#L272-L355)\n\t- [VaultCore._totalValueInStrategies()](contracts/vault/VaultCore.sol#L428-L433)\n\t- [VaultCore._checkBalance(address)](contracts/vault/VaultCore.sol#L472-L485)\n\t- [VaultCore.getStrategyCount()](contracts/vault/VaultCore.sol#L643-L645)\n", "id": "ea3b2d51d5c7b49d49000d98c22ad2e6114ee9ddc5ae0a3dbca43230b1d86caa", "check": "uninitialized-state", "impact": "High", "confidence": "High"}, {"elements": [{"type": "variable", "name": "assetDefaultStrategies", "source_mapping": {"start": 3296, "length": 57, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [92], "starting_column": 5, "ending_column": 62}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 738, "length": 3013, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106], "starting_column": 1, "ending_column": 2}}}}, {"type": "function", "name": "_redeem", "source_mapping": {"start": 5959, "length": 2568, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 578, "length": 23987, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680], "starting_column": 1, "ending_column": 2}}, "signature": "_redeem(uint256,uint256)"}}, {"type": "function", "name": "_allocate", "source_mapping": {"start": 9491, "length": 3809, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 578, "length": 23987, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680], "starting_column": 1, "ending_column": 2}}, "signature": "_allocate()"}}], "description": "VaultStorage.assetDefaultStrategies (contracts/vault/VaultStorage.sol#92) is never initialized. It is used in:\n\t- VaultCore._redeem(uint256,uint256) (contracts/vault/VaultCore.sol#176-241)\n\t- VaultCore._allocate() (contracts/vault/VaultCore.sol#272-355)\n", "markdown": "[VaultStorage.assetDefaultStrategies](contracts/vault/VaultStorage.sol#L92) is never initialized. It is used in:\n\t- [VaultCore._redeem(uint256,uint256)](contracts/vault/VaultCore.sol#L176-L241)\n\t- [VaultCore._allocate()](contracts/vault/VaultCore.sol#L272-L355)\n", "id": "2a2b38bc90433cda7268d5e5e361bda99612c0a8a010cde7677ef881ee8366ee", "check": "uninitialized-state", "impact": "High", "confidence": "High"}, {"elements": [{"type": "function", "name": "balanceOf", "source_mapping": {"start": 3072, "length": 223, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [93, 94, 95, 96, 97], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OUSD", "source_mapping": {"start": 829, "length": 17126, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 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], "starting_column": 1, "ending_column": 2}}, "signature": "balanceOf(address)"}}, {"type": "node", "name": "_creditBalances[_account] == 0", "source_mapping": {"start": 3153, "length": 30, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [94], "starting_column": 13, "ending_column": 43}, "type_specific_fields": {"parent": {"type": "function", "name": "balanceOf", "source_mapping": {"start": 3072, "length": 223, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [93, 94, 95, 96, 97], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OUSD", "source_mapping": {"start": 829, "length": 17126, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 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], "starting_column": 1, "ending_column": 2}}, "signature": "balanceOf(address)"}}}}], "description": "OUSD.balanceOf(address) (contracts/token/OUSD.sol#93-97) uses a dangerous strict equality:\n\t- _creditBalances[_account] == 0 (contracts/token/OUSD.sol#94)\n", "markdown": "[OUSD.balanceOf(address)](contracts/token/OUSD.sol#L93-L97) uses a dangerous strict equality:\n\t- [_creditBalances[_account] == 0](contracts/token/OUSD.sol#L94)\n", "id": "a55a1e1f6ea78bddc5cbd6d68e5a4302d75fcd721b5a8c9f6966a014896ca1d4", "check": "incorrect-equality", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "function", "name": "updatePool", "source_mapping": {"start": 8912, "length": 759, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/liquidity/LiquidityReward.sol", "filename_relative": "contracts/liquidity/LiquidityReward.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/liquidity/LiquidityReward.sol", "filename_short": "contracts/liquidity/LiquidityReward.sol", "is_dependency": false, "lines": [244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "LiquidityReward", "source_mapping": {"start": 598, "length": 12500, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/liquidity/LiquidityReward.sol", "filename_relative": "contracts/liquidity/LiquidityReward.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/liquidity/LiquidityReward.sol", "filename_short": "contracts/liquidity/LiquidityReward.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, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372], "starting_column": 1, "ending_column": 2}}, "signature": "updatePool()"}}, {"type": "node", "name": "lpSupply == 0", "source_mapping": {"start": 9176, "length": 13, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/liquidity/LiquidityReward.sol", "filename_relative": "contracts/liquidity/LiquidityReward.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/liquidity/LiquidityReward.sol", "filename_short": "contracts/liquidity/LiquidityReward.sol", "is_dependency": false, "lines": [253], "starting_column": 13, "ending_column": 26}, "type_specific_fields": {"parent": {"type": "function", "name": "updatePool", "source_mapping": {"start": 8912, "length": 759, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/liquidity/LiquidityReward.sol", "filename_relative": "contracts/liquidity/LiquidityReward.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/liquidity/LiquidityReward.sol", "filename_short": "contracts/liquidity/LiquidityReward.sol", "is_dependency": false, "lines": [244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "LiquidityReward", "source_mapping": {"start": 598, "length": 12500, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/liquidity/LiquidityReward.sol", "filename_relative": "contracts/liquidity/LiquidityReward.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/liquidity/LiquidityReward.sol", "filename_short": "contracts/liquidity/LiquidityReward.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, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372], "starting_column": 1, "ending_column": 2}}, "signature": "updatePool()"}}}}], "description": "LiquidityReward.updatePool() (contracts/liquidity/LiquidityReward.sol#244-268) uses a dangerous strict equality:\n\t- lpSupply == 0 (contracts/liquidity/LiquidityReward.sol#253)\n", "markdown": "[LiquidityReward.updatePool()](contracts/liquidity/LiquidityReward.sol#L244-L268) uses a dangerous strict equality:\n\t- [lpSupply == 0](contracts/liquidity/LiquidityReward.sol#L253)\n", "id": "02a2415f185c8c7b03a0600221486a59fab7f3f7715fd500620d5d0e2e3637cc", "check": "incorrect-equality", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "function", "name": "_allocate", "source_mapping": {"start": 9491, "length": 3809, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 578, "length": 23987, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680], "starting_column": 1, "ending_column": 2}}, "signature": "_allocate()"}}, {"type": "node", "name": "assetBalance == 0", "source_mapping": {"start": 11170, "length": 17, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [309], "starting_column": 17, "ending_column": 34}, "type_specific_fields": {"parent": {"type": "function", "name": "_allocate", "source_mapping": {"start": 9491, "length": 3809, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.sol", "is_dependency": false, "lines": [272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultCore", "source_mapping": {"start": 578, "length": 23987, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_relative": "contracts/vault/VaultCore.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol", "filename_short": "contracts/vault/VaultCore.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, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680], "starting_column": 1, "ending_column": 2}}, "signature": "_allocate()"}}}}], "description": "VaultCore._allocate() (contracts/vault/VaultCore.sol#272-355) uses a dangerous strict equality:\n\t- assetBalance == 0 (contracts/vault/VaultCore.sol#309)\n", "markdown": "[VaultCore._allocate()](contracts/vault/VaultCore.sol#L272-L355) uses a dangerous strict equality:\n\t- [assetBalance == 0](contracts/vault/VaultCore.sol#L309)\n", "id": "e076e0868789c4c8eac321fa296d864f811cdc98d51f0a6c652fad192cda236b", "check": "incorrect-equality", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "function", "name": "withdrawAll", "source_mapping": {"start": 2169, "length": 720, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompoundStrategy", "source_mapping": {"start": 319, "length": 6386, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [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], "starting_column": 1, "ending_column": 2}}, "signature": "withdrawAll()"}}, {"type": "node", "name": "require(bool,string)(cToken.redeem(cToken.balanceOf(address(this))) == 0,Redeem failed)", "source_mapping": {"start": 2475, "length": 135, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [71, 72, 73, 74], "starting_column": 17, "ending_column": 18}, "type_specific_fields": {"parent": {"type": "function", "name": "withdrawAll", "source_mapping": {"start": 2169, "length": 720, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompoundStrategy", "source_mapping": {"start": 319, "length": 6386, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_relative": "contracts/strategies/CompoundStrategy.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/strategies/CompoundStrategy.sol", "filename_short": "contracts/strategies/CompoundStrategy.sol", "is_dependency": false, "lines": [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], "starting_column": 1, "ending_column": 2}}, "signature": "withdrawAll()"}}}}], "description": "CompoundStrategy.withdrawAll() (contracts/strategies/CompoundStrategy.sol#66-83) uses a dangerous strict equality:\n\t- require(bool,string)(cToken.redeem(cToken.balanceOf(address(this))) == 0,Redeem failed) (contracts/strategies/CompoundStrategy.sol#71-74)\n", "markdown": "[CompoundStrategy.withdrawAll()](contracts/strategies/CompoundStrategy.sol#L66-L83) uses a dangerous strict equality:\n\t- [require(bool,string)(cToken.redeem(cToken.balanceOf(address(this))) == 0,Redeem failed)](contracts/strategies/CompoundStrategy.sol#L71-L74)\n", "id": "9e1c9a8960b5355a30be684d7838bfbc435e02b641fb93208cf2e5c248ac5db8", "check": "incorrect-equality", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "variable", "name": "_deprecated_nonRebasingCredits", "source_mapping": {"start": 1889, "length": 46, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [56], "starting_column": 5, "ending_column": 51}, "type_specific_fields": {"parent": {"type": "contract", "name": "OUSD", "source_mapping": {"start": 829, "length": 17126, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_relative": "contracts/token/OUSD.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol", "filename_short": "contracts/token/OUSD.sol", "is_dependency": false, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 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], "starting_column": 1, "ending_column": 2}}}}], "description": "OUSD._deprecated_nonRebasingCredits (contracts/token/OUSD.sol#56) should be constant\n", "markdown": "[OUSD._deprecated_nonRebasingCredits](contracts/token/OUSD.sol#L56) should be constant\n", "id": "d1ea4fe9408f80125156de9fe468a481994a6d08fef3b6b1933e37e2df899f9e", "check": "constable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "_deprecated_rebaseHooksAddr", "source_mapping": {"start": 2977, "length": 56, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [82], "starting_column": 5, "ending_column": 61}, "type_specific_fields": {"parent": {"type": "contract", "name": "VaultStorage", "source_mapping": {"start": 738, "length": 3013, "filename_used": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_relative": "contracts/vault/VaultStorage.sol", "filename_absolute": "/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol", "filename_short": "contracts/vault/VaultStorage.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106], "starting_column": 1, "ending_column": 2}}}}], "description": "VaultStorage._deprecated_rebaseHooksAddr (contracts/vault/VaultStorage.sol#82) should be constant\n", "markdown": "[VaultStorage._deprecated_rebaseHooksAddr](contracts/vault/VaultStorage.sol#L82) should be constant\n", "id": "ed4ffd431fec4020c56a7e926083a9e68612827dfc15d7aabf73103cd7bcf2aa", "check": "constable-states", "impact": "Optimization", "confidence": "High"}] \ No newline at end of file