diff --git a/tools/slither/slither.db.json b/tools/slither/slither.db.json index c758483b..a6666e09 100644 --- a/tools/slither/slither.db.json +++ b/tools/slither/slither.db.json @@ -1 +1 @@ -[{"elements": [{"type": "function", "name": "migrateWallet", "source_mapping": {"start": 2911, "length": 1524, "filename_used": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_relative": "../../contracts/walletDeployer.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_short": "../../contracts/walletDeployer.sol", "is_dependency": false, "lines": [67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 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": "WalletDeployer", "source_mapping": {"start": 963, "length": 3474, "filename_used": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_relative": "../../contracts/walletDeployer.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_short": "../../contracts/walletDeployer.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], "starting_column": 1, "ending_column": 2}}, "signature": "migrateWallet(address,address,bool,bool,bool,bool,uint256,uint256,uint256,address[])"}}, {"type": "node", "name": "wallet = IWalletCache(_ensResolve(walletCacheNode)).walletCachePop()", "source_mapping": {"start": 3505, "length": 84, "filename_used": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_relative": "../../contracts/walletDeployer.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_short": "../../contracts/walletDeployer.sol", "is_dependency": false, "lines": [82], "starting_column": 9, "ending_column": 93}, "type_specific_fields": {"parent": {"type": "function", "name": "migrateWallet", "source_mapping": {"start": 2911, "length": 1524, "filename_used": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_relative": "../../contracts/walletDeployer.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_short": "../../contracts/walletDeployer.sol", "is_dependency": false, "lines": [67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 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": "WalletDeployer", "source_mapping": {"start": 963, "length": 3474, "filename_used": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_relative": "../../contracts/walletDeployer.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_short": "../../contracts/walletDeployer.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], "starting_column": 1, "ending_column": 2}}, "signature": "migrateWallet(address,address,bool,bool,bool,bool,uint256,uint256,uint256,address[])"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "deployedWallets[_owner] = wallet", "source_mapping": {"start": 3668, "length": 32, "filename_used": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_relative": "../../contracts/walletDeployer.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_short": "../../contracts/walletDeployer.sol", "is_dependency": false, "lines": [85], "starting_column": 9, "ending_column": 41}, "type_specific_fields": {"parent": {"type": "function", "name": "migrateWallet", "source_mapping": {"start": 2911, "length": 1524, "filename_used": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_relative": "../../contracts/walletDeployer.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_short": "../../contracts/walletDeployer.sol", "is_dependency": false, "lines": [67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 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": "WalletDeployer", "source_mapping": {"start": 963, "length": 3474, "filename_used": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_relative": "../../contracts/walletDeployer.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_short": "../../contracts/walletDeployer.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], "starting_column": 1, "ending_column": 2}}, "signature": "migrateWallet(address,address,bool,bool,bool,bool,uint256,uint256,uint256,address[])"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "deployedWallets"}}], "description": "Reentrancy in WalletDeployer.migrateWallet(address,address,bool,bool,bool,bool,uint256,uint256,uint256,address[]) (../../contracts/walletDeployer.sol#67-107):\n\tExternal calls:\n\t- wallet = IWalletCache(_ensResolve(walletCacheNode)).walletCachePop() (../../contracts/walletDeployer.sol#82)\n\tState variables written after the call(s):\n\t- WalletDeployer.deployedWallets (../../contracts/walletDeployer.sol#37) in deployedWallets[_owner] = wallet (../../contracts/walletDeployer.sol#85)\n", "markdown": "Reentrancy in [WalletDeployer.migrateWallet(address,address,bool,bool,bool,bool,uint256,uint256,uint256,address[])](../../contracts/walletDeployer.sol#L67-L107):\n\tExternal calls:\n\t- [wallet = IWalletCache(_ensResolve(walletCacheNode)).walletCachePop()](../../contracts/walletDeployer.sol#L82)\n\tState variables written after the call(s):\n\t- [WalletDeployer.deployedWallets](../../contracts/walletDeployer.sol#L37) in [deployedWallets[_owner] = wallet](../../contracts/walletDeployer.sol#L85)\n", "id": "c9cc5c90886e5d43e0954b7aed44a9204cd59053d3e6ab4f4811d66b300047f9", "check": "reentrancy-no-eth", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "deployWallet", "source_mapping": {"start": 2094, "length": 409, "filename_used": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_relative": "../../contracts/walletDeployer.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_short": "../../contracts/walletDeployer.sol", "is_dependency": false, "lines": [52, 53, 54, 55, 56, 57, 58, 59, 60], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "WalletDeployer", "source_mapping": {"start": 963, "length": 3474, "filename_used": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_relative": "../../contracts/walletDeployer.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_short": "../../contracts/walletDeployer.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], "starting_column": 1, "ending_column": 2}}, "signature": "deployWallet(address)"}}, {"type": "node", "name": "wallet = IWalletCache(_ensResolve(walletCacheNode)).walletCachePop()", "source_mapping": {"start": 2174, "length": 84, "filename_used": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_relative": "../../contracts/walletDeployer.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_short": "../../contracts/walletDeployer.sol", "is_dependency": false, "lines": [53], "starting_column": 9, "ending_column": 93}, "type_specific_fields": {"parent": {"type": "function", "name": "deployWallet", "source_mapping": {"start": 2094, "length": 409, "filename_used": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_relative": "../../contracts/walletDeployer.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_short": "../../contracts/walletDeployer.sol", "is_dependency": false, "lines": [52, 53, 54, 55, 56, 57, 58, 59, 60], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "WalletDeployer", "source_mapping": {"start": 963, "length": 3474, "filename_used": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_relative": "../../contracts/walletDeployer.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_short": "../../contracts/walletDeployer.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], "starting_column": 1, "ending_column": 2}}, "signature": "deployWallet(address)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "deployedWallets[_owner] = wallet", "source_mapping": {"start": 2314, "length": 32, "filename_used": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_relative": "../../contracts/walletDeployer.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_short": "../../contracts/walletDeployer.sol", "is_dependency": false, "lines": [56], "starting_column": 9, "ending_column": 41}, "type_specific_fields": {"parent": {"type": "function", "name": "deployWallet", "source_mapping": {"start": 2094, "length": 409, "filename_used": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_relative": "../../contracts/walletDeployer.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_short": "../../contracts/walletDeployer.sol", "is_dependency": false, "lines": [52, 53, 54, 55, 56, 57, 58, 59, 60], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "WalletDeployer", "source_mapping": {"start": 963, "length": 3474, "filename_used": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_relative": "../../contracts/walletDeployer.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_short": "../../contracts/walletDeployer.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], "starting_column": 1, "ending_column": 2}}, "signature": "deployWallet(address)"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "deployedWallets"}}], "description": "Reentrancy in WalletDeployer.deployWallet(address) (../../contracts/walletDeployer.sol#52-60):\n\tExternal calls:\n\t- wallet = IWalletCache(_ensResolve(walletCacheNode)).walletCachePop() (../../contracts/walletDeployer.sol#53)\n\tState variables written after the call(s):\n\t- WalletDeployer.deployedWallets (../../contracts/walletDeployer.sol#37) in deployedWallets[_owner] = wallet (../../contracts/walletDeployer.sol#56)\n", "markdown": "Reentrancy in [WalletDeployer.deployWallet(address)](../../contracts/walletDeployer.sol#L52-L60):\n\tExternal calls:\n\t- [wallet = IWalletCache(_ensResolve(walletCacheNode)).walletCachePop()](../../contracts/walletDeployer.sol#L53)\n\tState variables written after the call(s):\n\t- [WalletDeployer.deployedWallets](../../contracts/walletDeployer.sol#L37) in [deployedWallets[_owner] = wallet](../../contracts/walletDeployer.sol#L56)\n", "id": "51e7b14ee9e777e7d9aceb503d7e4fb463d228f819cdb01de7243c0e900bd1d1", "check": "reentrancy-benign", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "deployWallet", "source_mapping": {"start": 2094, "length": 409, "filename_used": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_relative": "../../contracts/walletDeployer.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_short": "../../contracts/walletDeployer.sol", "is_dependency": false, "lines": [52, 53, 54, 55, 56, 57, 58, 59, 60], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "WalletDeployer", "source_mapping": {"start": 963, "length": 3474, "filename_used": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_relative": "../../contracts/walletDeployer.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_short": "../../contracts/walletDeployer.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], "starting_column": 1, "ending_column": 2}}, "signature": "deployWallet(address)"}}, {"type": "node", "name": "wallet = IWalletCache(_ensResolve(walletCacheNode)).walletCachePop()", "source_mapping": {"start": 2174, "length": 84, "filename_used": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_relative": "../../contracts/walletDeployer.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_short": "../../contracts/walletDeployer.sol", "is_dependency": false, "lines": [53], "starting_column": 9, "ending_column": 93}, "type_specific_fields": {"parent": {"type": "function", "name": "deployWallet", "source_mapping": {"start": 2094, "length": 409, "filename_used": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_relative": "../../contracts/walletDeployer.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_short": "../../contracts/walletDeployer.sol", "is_dependency": false, "lines": [52, 53, 54, 55, 56, 57, 58, 59, 60], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "WalletDeployer", "source_mapping": {"start": 963, "length": 3474, "filename_used": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_relative": "../../contracts/walletDeployer.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_short": "../../contracts/walletDeployer.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], "starting_column": 1, "ending_column": 2}}, "signature": "deployWallet(address)"}}}, "additional_fields": {"underlying_type": "external_calls"}}], "description": "Reentrancy in WalletDeployer.deployWallet(address) (../../contracts/walletDeployer.sol#52-60):\n\tExternal calls:\n\t- wallet = IWalletCache(_ensResolve(walletCacheNode)).walletCachePop() (../../contracts/walletDeployer.sol#53)\n\tEvent emitted after the call(s):\n\t- DeployedWallet(wallet,_owner) (../../contracts/walletDeployer.sol#54)\n", "markdown": "Reentrancy in [WalletDeployer.deployWallet(address)](../../contracts/walletDeployer.sol#L52-L60):\n\tExternal calls:\n\t- [wallet = IWalletCache(_ensResolve(walletCacheNode)).walletCachePop()](../../contracts/walletDeployer.sol#L53)\n\tEvent emitted after the call(s):\n\t- [DeployedWallet(wallet,_owner)](../../contracts/walletDeployer.sol#L54)\n", "id": "1f2a19c730b57366cf03fa55fac9a4a4507666d304922ee6908d90b860910bc7", "check": "reentrancy-events", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "migrateWallet", "source_mapping": {"start": 2911, "length": 1524, "filename_used": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_relative": "../../contracts/walletDeployer.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_short": "../../contracts/walletDeployer.sol", "is_dependency": false, "lines": [67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 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": "WalletDeployer", "source_mapping": {"start": 963, "length": 3474, "filename_used": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_relative": "../../contracts/walletDeployer.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_short": "../../contracts/walletDeployer.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], "starting_column": 1, "ending_column": 2}}, "signature": "migrateWallet(address,address,bool,bool,bool,bool,uint256,uint256,uint256,address[])"}}, {"type": "node", "name": "wallet = IWalletCache(_ensResolve(walletCacheNode)).walletCachePop()", "source_mapping": {"start": 3505, "length": 84, "filename_used": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_relative": "../../contracts/walletDeployer.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_short": "../../contracts/walletDeployer.sol", "is_dependency": false, "lines": [82], "starting_column": 9, "ending_column": 93}, "type_specific_fields": {"parent": {"type": "function", "name": "migrateWallet", "source_mapping": {"start": 2911, "length": 1524, "filename_used": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_relative": "../../contracts/walletDeployer.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_short": "../../contracts/walletDeployer.sol", "is_dependency": false, "lines": [67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 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": "WalletDeployer", "source_mapping": {"start": 963, "length": 3474, "filename_used": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_relative": "../../contracts/walletDeployer.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_short": "../../contracts/walletDeployer.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], "starting_column": 1, "ending_column": 2}}, "signature": "migrateWallet(address,address,bool,bool,bool,bool,uint256,uint256,uint256,address[])"}}}, "additional_fields": {"underlying_type": "external_calls"}}], "description": "Reentrancy in WalletDeployer.migrateWallet(address,address,bool,bool,bool,bool,uint256,uint256,uint256,address[]) (../../contracts/walletDeployer.sol#67-107):\n\tExternal calls:\n\t- wallet = IWalletCache(_ensResolve(walletCacheNode)).walletCachePop() (../../contracts/walletDeployer.sol#82)\n\tEvent emitted after the call(s):\n\t- MigratedWallet(wallet,_oldWallet,_owner,msg.value) (../../contracts/walletDeployer.sol#83)\n", "markdown": "Reentrancy in [WalletDeployer.migrateWallet(address,address,bool,bool,bool,bool,uint256,uint256,uint256,address[])](../../contracts/walletDeployer.sol#L67-L107):\n\tExternal calls:\n\t- [wallet = IWalletCache(_ensResolve(walletCacheNode)).walletCachePop()](../../contracts/walletDeployer.sol#L82)\n\tEvent emitted after the call(s):\n\t- [MigratedWallet(wallet,_oldWallet,_owner,msg.value)](../../contracts/walletDeployer.sol#L83)\n", "id": "27487f82407f9c471ccfad236aefd4fdee287f7e67460c6a09735532f3797e50", "check": "reentrancy-events", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "walletCachePop", "source_mapping": {"start": 4320, "length": 292, "filename_used": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_relative": "../../contracts/walletCache.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_short": "../../contracts/walletCache.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": "WalletCache", "source_mapping": {"start": 1219, "length": 4097, "filename_used": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_relative": "../../contracts/walletCache.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_short": "../../contracts/walletCache.sol", "is_dependency": false, "lines": [34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134], "starting_column": 1, "ending_column": 2}}, "signature": "walletCachePop()"}}, {"type": "node", "name": "cacheWallet()", "source_mapping": {"start": 4454, "length": 13, "filename_used": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_relative": "../../contracts/walletCache.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_short": "../../contracts/walletCache.sol", "is_dependency": false, "lines": [108], "starting_column": 13, "ending_column": 26}, "type_specific_fields": {"parent": {"type": "function", "name": "walletCachePop", "source_mapping": {"start": 4320, "length": 292, "filename_used": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_relative": "../../contracts/walletCache.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_short": "../../contracts/walletCache.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": "WalletCache", "source_mapping": {"start": 1219, "length": 4097, "filename_used": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_relative": "../../contracts/walletCache.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_short": "../../contracts/walletCache.sol", "is_dependency": false, "lines": [34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134], "starting_column": 1, "ending_column": 2}}, "signature": "walletCachePop()"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "cachedWallets.pop()", "source_mapping": {"start": 4562, "length": 19, "filename_used": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_relative": "../../contracts/walletCache.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_short": "../../contracts/walletCache.sol", "is_dependency": false, "lines": [112], "starting_column": 9, "ending_column": 28}, "type_specific_fields": {"parent": {"type": "function", "name": "walletCachePop", "source_mapping": {"start": 4320, "length": 292, "filename_used": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_relative": "../../contracts/walletCache.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_short": "../../contracts/walletCache.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": "WalletCache", "source_mapping": {"start": 1219, "length": 4097, "filename_used": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_relative": "../../contracts/walletCache.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_short": "../../contracts/walletCache.sol", "is_dependency": false, "lines": [34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134], "starting_column": 1, "ending_column": 2}}, "signature": "walletCachePop()"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "cachedWallets"}}], "description": "Reentrancy in WalletCache.walletCachePop() (../../contracts/walletCache.sol#106-115):\n\tExternal calls:\n\t- cacheWallet() (../../contracts/walletCache.sol#108)\n\tState variables written after the call(s):\n\t- WalletCache.cachedWallets (../../contracts/walletCache.sol#55) in cachedWallets.pop() (../../contracts/walletCache.sol#112)\n", "markdown": "Reentrancy in [WalletCache.walletCachePop()](../../contracts/walletCache.sol#L106-L115):\n\tExternal calls:\n\t- [cacheWallet()](../../contracts/walletCache.sol#L108)\n\tState variables written after the call(s):\n\t- [WalletCache.cachedWallets](../../contracts/walletCache.sol#L55) in [cachedWallets.pop()](../../contracts/walletCache.sol#L112)\n", "id": "fecd01393f63606141144b81e95841080ef9ec784c6a7665ac131c45668eafaf", "check": "reentrancy-no-eth", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "cacheWallet", "source_mapping": {"start": 4688, "length": 626, "filename_used": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_relative": "../../contracts/walletCache.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_short": "../../contracts/walletCache.sol", "is_dependency": false, "lines": [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": "WalletCache", "source_mapping": {"start": 1219, "length": 4097, "filename_used": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_relative": "../../contracts/walletCache.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_short": "../../contracts/walletCache.sol", "is_dependency": false, "lines": [34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134], "starting_column": 1, "ending_column": 2}}, "signature": "cacheWallet()"}}, {"type": "node", "name": "wallet = address(new UpgradeabilityProxy(walletImplementation,))", "source_mapping": {"start": 4801, "length": 83, "filename_used": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_relative": "../../contracts/walletCache.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_short": "../../contracts/walletCache.sol", "is_dependency": false, "lines": [120], "starting_column": 9, "ending_column": 92}, "type_specific_fields": {"parent": {"type": "function", "name": "cacheWallet", "source_mapping": {"start": 4688, "length": 626, "filename_used": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_relative": "../../contracts/walletCache.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_short": "../../contracts/walletCache.sol", "is_dependency": false, "lines": [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": "WalletCache", "source_mapping": {"start": 1219, "length": 4097, "filename_used": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_relative": "../../contracts/walletCache.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_short": "../../contracts/walletCache.sol", "is_dependency": false, "lines": [34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134], "starting_column": 1, "ending_column": 2}}, "signature": "cacheWallet()"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "Wallet(wallet).initializeWallet(address(uint160(walletDeployerAddress)),true,ens,tokenWhitelistNode,controllerNode(),licenceNode,defaultSpendLimit)", "source_mapping": {"start": 4894, "length": 341, "filename_used": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_relative": "../../contracts/walletCache.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_short": "../../contracts/walletCache.sol", "is_dependency": false, "lines": [121, 122, 123, 124, 125, 126, 127, 128, 129], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "cacheWallet", "source_mapping": {"start": 4688, "length": 626, "filename_used": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_relative": "../../contracts/walletCache.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_short": "../../contracts/walletCache.sol", "is_dependency": false, "lines": [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": "WalletCache", "source_mapping": {"start": 1219, "length": 4097, "filename_used": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_relative": "../../contracts/walletCache.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_short": "../../contracts/walletCache.sol", "is_dependency": false, "lines": [34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134], "starting_column": 1, "ending_column": 2}}, "signature": "cacheWallet()"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "cachedWallets.push(wallet)", "source_mapping": {"start": 5245, "length": 26, "filename_used": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_relative": "../../contracts/walletCache.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_short": "../../contracts/walletCache.sol", "is_dependency": false, "lines": [130], "starting_column": 9, "ending_column": 35}, "type_specific_fields": {"parent": {"type": "function", "name": "cacheWallet", "source_mapping": {"start": 4688, "length": 626, "filename_used": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_relative": "../../contracts/walletCache.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_short": "../../contracts/walletCache.sol", "is_dependency": false, "lines": [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": "WalletCache", "source_mapping": {"start": 1219, "length": 4097, "filename_used": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_relative": "../../contracts/walletCache.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_short": "../../contracts/walletCache.sol", "is_dependency": false, "lines": [34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134], "starting_column": 1, "ending_column": 2}}, "signature": "cacheWallet()"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "cachedWallets"}}], "description": "Reentrancy in WalletCache.cacheWallet() (../../contracts/walletCache.sol#118-133):\n\tExternal calls:\n\t- wallet = address(new UpgradeabilityProxy(walletImplementation,)) (../../contracts/walletCache.sol#120)\n\t- Wallet(wallet).initializeWallet(address(uint160(walletDeployerAddress)),true,ens,tokenWhitelistNode,controllerNode(),licenceNode,defaultSpendLimit) (../../contracts/walletCache.sol#121-129)\n\tState variables written after the call(s):\n\t- WalletCache.cachedWallets (../../contracts/walletCache.sol#55) in cachedWallets.push(wallet) (../../contracts/walletCache.sol#130)\n", "markdown": "Reentrancy in [WalletCache.cacheWallet()](../../contracts/walletCache.sol#L118-L133):\n\tExternal calls:\n\t- [wallet = address(new UpgradeabilityProxy(walletImplementation,))](../../contracts/walletCache.sol#L120)\n\t- [Wallet(wallet).initializeWallet(address(uint160(walletDeployerAddress)),true,ens,tokenWhitelistNode,controllerNode(),licenceNode,defaultSpendLimit)](../../contracts/walletCache.sol#L121-L129)\n\tState variables written after the call(s):\n\t- [WalletCache.cachedWallets](../../contracts/walletCache.sol#L55) in [cachedWallets.push(wallet)](../../contracts/walletCache.sol#L130)\n", "id": "d5f7b99dcb5b4e54edb987f0658898944bcccecbb530aec08382ac9885101ad4", "check": "reentrancy-benign", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "cacheWallet", "source_mapping": {"start": 4688, "length": 626, "filename_used": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_relative": "../../contracts/walletCache.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_short": "../../contracts/walletCache.sol", "is_dependency": false, "lines": [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": "WalletCache", "source_mapping": {"start": 1219, "length": 4097, "filename_used": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_relative": "../../contracts/walletCache.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_short": "../../contracts/walletCache.sol", "is_dependency": false, "lines": [34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134], "starting_column": 1, "ending_column": 2}}, "signature": "cacheWallet()"}}, {"type": "node", "name": "wallet = address(new UpgradeabilityProxy(walletImplementation,))", "source_mapping": {"start": 4801, "length": 83, "filename_used": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_relative": "../../contracts/walletCache.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_short": "../../contracts/walletCache.sol", "is_dependency": false, "lines": [120], "starting_column": 9, "ending_column": 92}, "type_specific_fields": {"parent": {"type": "function", "name": "cacheWallet", "source_mapping": {"start": 4688, "length": 626, "filename_used": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_relative": "../../contracts/walletCache.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_short": "../../contracts/walletCache.sol", "is_dependency": false, "lines": [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": "WalletCache", "source_mapping": {"start": 1219, "length": 4097, "filename_used": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_relative": "../../contracts/walletCache.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_short": "../../contracts/walletCache.sol", "is_dependency": false, "lines": [34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134], "starting_column": 1, "ending_column": 2}}, "signature": "cacheWallet()"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "Wallet(wallet).initializeWallet(address(uint160(walletDeployerAddress)),true,ens,tokenWhitelistNode,controllerNode(),licenceNode,defaultSpendLimit)", "source_mapping": {"start": 4894, "length": 341, "filename_used": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_relative": "../../contracts/walletCache.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_short": "../../contracts/walletCache.sol", "is_dependency": false, "lines": [121, 122, 123, 124, 125, 126, 127, 128, 129], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "cacheWallet", "source_mapping": {"start": 4688, "length": 626, "filename_used": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_relative": "../../contracts/walletCache.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_short": "../../contracts/walletCache.sol", "is_dependency": false, "lines": [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": "WalletCache", "source_mapping": {"start": 1219, "length": 4097, "filename_used": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_relative": "../../contracts/walletCache.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_short": "../../contracts/walletCache.sol", "is_dependency": false, "lines": [34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134], "starting_column": 1, "ending_column": 2}}, "signature": "cacheWallet()"}}}, "additional_fields": {"underlying_type": "external_calls"}}], "description": "Reentrancy in WalletCache.cacheWallet() (../../contracts/walletCache.sol#118-133):\n\tExternal calls:\n\t- wallet = address(new UpgradeabilityProxy(walletImplementation,)) (../../contracts/walletCache.sol#120)\n\t- Wallet(wallet).initializeWallet(address(uint160(walletDeployerAddress)),true,ens,tokenWhitelistNode,controllerNode(),licenceNode,defaultSpendLimit) (../../contracts/walletCache.sol#121-129)\n\tEvent emitted after the call(s):\n\t- CachedWallet(wallet) (../../contracts/walletCache.sol#132)\n", "markdown": "Reentrancy in [WalletCache.cacheWallet()](../../contracts/walletCache.sol#L118-L133):\n\tExternal calls:\n\t- [wallet = address(new UpgradeabilityProxy(walletImplementation,))](../../contracts/walletCache.sol#L120)\n\t- [Wallet(wallet).initializeWallet(address(uint160(walletDeployerAddress)),true,ens,tokenWhitelistNode,controllerNode(),licenceNode,defaultSpendLimit)](../../contracts/walletCache.sol#L121-L129)\n\tEvent emitted after the call(s):\n\t- [CachedWallet(wallet)](../../contracts/walletCache.sol#L132)\n", "id": "a07975382e172b7388b74354e94975e46685aa84b3c61e6a848891baf4310cf9", "check": "reentrancy-events", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_parseIntScientific", "source_mapping": {"start": 2338, "length": 6150, "filename_used": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_relative": "../../contracts/internals/parseIntScientific.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_short": "../../contracts/internals/parseIntScientific.sol", "is_dependency": false, "lines": [49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ParseIntScientific", "source_mapping": {"start": 951, "length": 7539, "filename_used": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_relative": "../../contracts/internals/parseIntScientific.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_short": "../../contracts/internals/parseIntScientific.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], "starting_column": 1, "ending_column": 2}}, "signature": "_parseIntScientific(string,uint256)"}}, {"type": "node", "name": "mint /= 10 ** (mintExp - _magnitudeMult)", "source_mapping": {"start": 6735, "length": 38, "filename_used": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_relative": "../../contracts/internals/parseIntScientific.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_short": "../../contracts/internals/parseIntScientific.sol", "is_dependency": false, "lines": [128], "starting_column": 17, "ending_column": 55}, "type_specific_fields": {"parent": {"type": "function", "name": "_parseIntScientific", "source_mapping": {"start": 2338, "length": 6150, "filename_used": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_relative": "../../contracts/internals/parseIntScientific.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_short": "../../contracts/internals/parseIntScientific.sol", "is_dependency": false, "lines": [49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ParseIntScientific", "source_mapping": {"start": 951, "length": 7539, "filename_used": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_relative": "../../contracts/internals/parseIntScientific.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_short": "../../contracts/internals/parseIntScientific.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], "starting_column": 1, "ending_column": 2}}, "signature": "_parseIntScientific(string,uint256)"}}}}, {"type": "node", "name": "mint = mint.mul(10 ** (decMinted))", "source_mapping": {"start": 7622, "length": 32, "filename_used": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_relative": "../../contracts/internals/parseIntScientific.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_short": "../../contracts/internals/parseIntScientific.sol", "is_dependency": false, "lines": [146], "starting_column": 13, "ending_column": 45}, "type_specific_fields": {"parent": {"type": "function", "name": "_parseIntScientific", "source_mapping": {"start": 2338, "length": 6150, "filename_used": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_relative": "../../contracts/internals/parseIntScientific.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_short": "../../contracts/internals/parseIntScientific.sol", "is_dependency": false, "lines": [49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ParseIntScientific", "source_mapping": {"start": 951, "length": 7539, "filename_used": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_relative": "../../contracts/internals/parseIntScientific.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_short": "../../contracts/internals/parseIntScientific.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], "starting_column": 1, "ending_column": 2}}, "signature": "_parseIntScientific(string,uint256)"}}}}], "description": "ParseIntScientific._parseIntScientific(string,uint256) (../../contracts/internals/parseIntScientific.sol#49-163) performs a multiplication on the result of a division:\n\t-mint /= 10 ** (mintExp - _magnitudeMult) (../../contracts/internals/parseIntScientific.sol#128)\n\t-mint = mint.mul(10 ** (decMinted)) (../../contracts/internals/parseIntScientific.sol#146)\n", "markdown": "[ParseIntScientific._parseIntScientific(string,uint256)](../../contracts/internals/parseIntScientific.sol#L49-L163) performs a multiplication on the result of a division:\n\t-[mint /= 10 ** (mintExp - _magnitudeMult)](../../contracts/internals/parseIntScientific.sol#L128)\n\t-[mint = mint.mul(10 ** (decMinted))](../../contracts/internals/parseIntScientific.sol#L146)\n", "id": "7f2a8a8833de43e4bde53359583557ee2e1dd2c6c047aa209df3b9574e4a0801", "check": "divide-before-multiply", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_parseIntScientific", "source_mapping": {"start": 2338, "length": 6150, "filename_used": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_relative": "../../contracts/internals/parseIntScientific.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_short": "../../contracts/internals/parseIntScientific.sol", "is_dependency": false, "lines": [49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ParseIntScientific", "source_mapping": {"start": 951, "length": 7539, "filename_used": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_relative": "../../contracts/internals/parseIntScientific.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_short": "../../contracts/internals/parseIntScientific.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], "starting_column": 1, "ending_column": 2}}, "signature": "_parseIntScientific(string,uint256)"}}, {"type": "node", "name": "mint /= 10 ** (mintExp - _magnitudeMult)", "source_mapping": {"start": 6735, "length": 38, "filename_used": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_relative": "../../contracts/internals/parseIntScientific.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_short": "../../contracts/internals/parseIntScientific.sol", "is_dependency": false, "lines": [128], "starting_column": 17, "ending_column": 55}, "type_specific_fields": {"parent": {"type": "function", "name": "_parseIntScientific", "source_mapping": {"start": 2338, "length": 6150, "filename_used": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_relative": "../../contracts/internals/parseIntScientific.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_short": "../../contracts/internals/parseIntScientific.sol", "is_dependency": false, "lines": [49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ParseIntScientific", "source_mapping": {"start": 951, "length": 7539, "filename_used": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_relative": "../../contracts/internals/parseIntScientific.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_short": "../../contracts/internals/parseIntScientific.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], "starting_column": 1, "ending_column": 2}}, "signature": "_parseIntScientific(string,uint256)"}}}}, {"type": "node", "name": "mint = mint.mul(10 ** (_magnitudeMult - decMinted))", "source_mapping": {"start": 7866, "length": 49, "filename_used": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_relative": "../../contracts/internals/parseIntScientific.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_short": "../../contracts/internals/parseIntScientific.sol", "is_dependency": false, "lines": [150], "starting_column": 13, "ending_column": 62}, "type_specific_fields": {"parent": {"type": "function", "name": "_parseIntScientific", "source_mapping": {"start": 2338, "length": 6150, "filename_used": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_relative": "../../contracts/internals/parseIntScientific.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_short": "../../contracts/internals/parseIntScientific.sol", "is_dependency": false, "lines": [49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ParseIntScientific", "source_mapping": {"start": 951, "length": 7539, "filename_used": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_relative": "../../contracts/internals/parseIntScientific.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_short": "../../contracts/internals/parseIntScientific.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], "starting_column": 1, "ending_column": 2}}, "signature": "_parseIntScientific(string,uint256)"}}}}], "description": "ParseIntScientific._parseIntScientific(string,uint256) (../../contracts/internals/parseIntScientific.sol#49-163) performs a multiplication on the result of a division:\n\t-mint /= 10 ** (mintExp - _magnitudeMult) (../../contracts/internals/parseIntScientific.sol#128)\n\t-mint = mint.mul(10 ** (_magnitudeMult - decMinted)) (../../contracts/internals/parseIntScientific.sol#150)\n", "markdown": "[ParseIntScientific._parseIntScientific(string,uint256)](../../contracts/internals/parseIntScientific.sol#L49-L163) performs a multiplication on the result of a division:\n\t-[mint /= 10 ** (mintExp - _magnitudeMult)](../../contracts/internals/parseIntScientific.sol#L128)\n\t-[mint = mint.mul(10 ** (_magnitudeMult - decMinted))](../../contracts/internals/parseIntScientific.sol#L150)\n", "id": "a82b7c9693de1c9605223cd9c9b544a7e3cafa00cc860a652f4702656c06516e", "check": "divide-before-multiply", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_parseIntScientific", "source_mapping": {"start": 2338, "length": 6150, "filename_used": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_relative": "../../contracts/internals/parseIntScientific.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_short": "../../contracts/internals/parseIntScientific.sol", "is_dependency": false, "lines": [49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ParseIntScientific", "source_mapping": {"start": 951, "length": 7539, "filename_used": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_relative": "../../contracts/internals/parseIntScientific.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_short": "../../contracts/internals/parseIntScientific.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], "starting_column": 1, "ending_column": 2}}, "signature": "_parseIntScientific(string,uint256)"}}, {"type": "node", "name": "mint /= 10 ** (mintExp - _magnitudeMult)", "source_mapping": {"start": 6735, "length": 38, "filename_used": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_relative": "../../contracts/internals/parseIntScientific.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_short": "../../contracts/internals/parseIntScientific.sol", "is_dependency": false, "lines": [128], "starting_column": 17, "ending_column": 55}, "type_specific_fields": {"parent": {"type": "function", "name": "_parseIntScientific", "source_mapping": {"start": 2338, "length": 6150, "filename_used": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_relative": "../../contracts/internals/parseIntScientific.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_short": "../../contracts/internals/parseIntScientific.sol", "is_dependency": false, "lines": [49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ParseIntScientific", "source_mapping": {"start": 951, "length": 7539, "filename_used": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_relative": "../../contracts/internals/parseIntScientific.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_short": "../../contracts/internals/parseIntScientific.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], "starting_column": 1, "ending_column": 2}}, "signature": "_parseIntScientific(string,uint256)"}}}}, {"type": "node", "name": "mint = mint.mul(10 ** (_magnitudeMult))", "source_mapping": {"start": 8375, "length": 37, "filename_used": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_relative": "../../contracts/internals/parseIntScientific.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_short": "../../contracts/internals/parseIntScientific.sol", "is_dependency": false, "lines": [159], "starting_column": 13, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "function", "name": "_parseIntScientific", "source_mapping": {"start": 2338, "length": 6150, "filename_used": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_relative": "../../contracts/internals/parseIntScientific.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_short": "../../contracts/internals/parseIntScientific.sol", "is_dependency": false, "lines": [49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ParseIntScientific", "source_mapping": {"start": 951, "length": 7539, "filename_used": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_relative": "../../contracts/internals/parseIntScientific.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_short": "../../contracts/internals/parseIntScientific.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], "starting_column": 1, "ending_column": 2}}, "signature": "_parseIntScientific(string,uint256)"}}}}], "description": "ParseIntScientific._parseIntScientific(string,uint256) (../../contracts/internals/parseIntScientific.sol#49-163) performs a multiplication on the result of a division:\n\t-mint /= 10 ** (mintExp - _magnitudeMult) (../../contracts/internals/parseIntScientific.sol#128)\n\t-mint = mint.mul(10 ** (_magnitudeMult)) (../../contracts/internals/parseIntScientific.sol#159)\n", "markdown": "[ParseIntScientific._parseIntScientific(string,uint256)](../../contracts/internals/parseIntScientific.sol#L49-L163) performs a multiplication on the result of a division:\n\t-[mint /= 10 ** (mintExp - _magnitudeMult)](../../contracts/internals/parseIntScientific.sol#L128)\n\t-[mint = mint.mul(10 ** (_magnitudeMult))](../../contracts/internals/parseIntScientific.sol#L159)\n", "id": "298bd6ddafc691cf4f164caea46b84f7d806fa4aa46de23a15f20ba149f569d4", "check": "divide-before-multiply", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_parseIntScientific", "source_mapping": {"start": 2338, "length": 6150, "filename_used": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_relative": "../../contracts/internals/parseIntScientific.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_short": "../../contracts/internals/parseIntScientific.sol", "is_dependency": false, "lines": [49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ParseIntScientific", "source_mapping": {"start": 951, "length": 7539, "filename_used": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_relative": "../../contracts/internals/parseIntScientific.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_short": "../../contracts/internals/parseIntScientific.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], "starting_column": 1, "ending_column": 2}}, "signature": "_parseIntScientific(string,uint256)"}}, {"type": "node", "name": "mintDec /= 10 ** (decMinted)", "source_mapping": {"start": 8192, "length": 26, "filename_used": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_relative": "../../contracts/internals/parseIntScientific.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_short": "../../contracts/internals/parseIntScientific.sol", "is_dependency": false, "lines": [156], "starting_column": 13, "ending_column": 39}, "type_specific_fields": {"parent": {"type": "function", "name": "_parseIntScientific", "source_mapping": {"start": 2338, "length": 6150, "filename_used": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_relative": "../../contracts/internals/parseIntScientific.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_short": "../../contracts/internals/parseIntScientific.sol", "is_dependency": false, "lines": [49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ParseIntScientific", "source_mapping": {"start": 951, "length": 7539, "filename_used": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_relative": "../../contracts/internals/parseIntScientific.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_short": "../../contracts/internals/parseIntScientific.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], "starting_column": 1, "ending_column": 2}}, "signature": "_parseIntScientific(string,uint256)"}}}}, {"type": "node", "name": "mintDec = mintDec.mul(10)", "source_mapping": {"start": 3689, "length": 25, "filename_used": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_relative": "../../contracts/internals/parseIntScientific.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_short": "../../contracts/internals/parseIntScientific.sol", "is_dependency": false, "lines": [68], "starting_column": 21, "ending_column": 46}, "type_specific_fields": {"parent": {"type": "function", "name": "_parseIntScientific", "source_mapping": {"start": 2338, "length": 6150, "filename_used": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_relative": "../../contracts/internals/parseIntScientific.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_short": "../../contracts/internals/parseIntScientific.sol", "is_dependency": false, "lines": [49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ParseIntScientific", "source_mapping": {"start": 951, "length": 7539, "filename_used": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_relative": "../../contracts/internals/parseIntScientific.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_short": "../../contracts/internals/parseIntScientific.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], "starting_column": 1, "ending_column": 2}}, "signature": "_parseIntScientific(string,uint256)"}}}}], "description": "ParseIntScientific._parseIntScientific(string,uint256) (../../contracts/internals/parseIntScientific.sol#49-163) performs a multiplication on the result of a division:\n\t-mintDec /= 10 ** (decMinted) (../../contracts/internals/parseIntScientific.sol#156)\n\t-mintDec = mintDec.mul(10) (../../contracts/internals/parseIntScientific.sol#68)\n", "markdown": "[ParseIntScientific._parseIntScientific(string,uint256)](../../contracts/internals/parseIntScientific.sol#L49-L163) performs a multiplication on the result of a division:\n\t-[mintDec /= 10 ** (decMinted)](../../contracts/internals/parseIntScientific.sol#L156)\n\t-[mintDec = mintDec.mul(10)](../../contracts/internals/parseIntScientific.sol#L68)\n", "id": "470f40a7333d285b7694adabe7173b9c0362522e9144fa61ef4a6eaa2daf9e01", "check": "divide-before-multiply", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_parseIntScientific", "source_mapping": {"start": 2338, "length": 6150, "filename_used": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_relative": "../../contracts/internals/parseIntScientific.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_short": "../../contracts/internals/parseIntScientific.sol", "is_dependency": false, "lines": [49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ParseIntScientific", "source_mapping": {"start": 951, "length": 7539, "filename_used": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_relative": "../../contracts/internals/parseIntScientific.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_short": "../../contracts/internals/parseIntScientific.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], "starting_column": 1, "ending_column": 2}}, "signature": "_parseIntScientific(string,uint256)"}}, {"type": "node", "name": "mint /= 10 ** (mintExp - _magnitudeMult)", "source_mapping": {"start": 6735, "length": 38, "filename_used": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_relative": "../../contracts/internals/parseIntScientific.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_short": "../../contracts/internals/parseIntScientific.sol", "is_dependency": false, "lines": [128], "starting_column": 17, "ending_column": 55}, "type_specific_fields": {"parent": {"type": "function", "name": "_parseIntScientific", "source_mapping": {"start": 2338, "length": 6150, "filename_used": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_relative": "../../contracts/internals/parseIntScientific.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_short": "../../contracts/internals/parseIntScientific.sol", "is_dependency": false, "lines": [49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ParseIntScientific", "source_mapping": {"start": 951, "length": 7539, "filename_used": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_relative": "../../contracts/internals/parseIntScientific.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_short": "../../contracts/internals/parseIntScientific.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], "starting_column": 1, "ending_column": 2}}, "signature": "_parseIntScientific(string,uint256)"}}}}, {"type": "node", "name": "mint = mint.mul(10)", "source_mapping": {"start": 4059, "length": 19, "filename_used": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_relative": "../../contracts/internals/parseIntScientific.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_short": "../../contracts/internals/parseIntScientific.sol", "is_dependency": false, "lines": [75], "starting_column": 21, "ending_column": 40}, "type_specific_fields": {"parent": {"type": "function", "name": "_parseIntScientific", "source_mapping": {"start": 2338, "length": 6150, "filename_used": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_relative": "../../contracts/internals/parseIntScientific.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_short": "../../contracts/internals/parseIntScientific.sol", "is_dependency": false, "lines": [49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ParseIntScientific", "source_mapping": {"start": 951, "length": 7539, "filename_used": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_relative": "../../contracts/internals/parseIntScientific.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_short": "../../contracts/internals/parseIntScientific.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], "starting_column": 1, "ending_column": 2}}, "signature": "_parseIntScientific(string,uint256)"}}}}], "description": "ParseIntScientific._parseIntScientific(string,uint256) (../../contracts/internals/parseIntScientific.sol#49-163) performs a multiplication on the result of a division:\n\t-mint /= 10 ** (mintExp - _magnitudeMult) (../../contracts/internals/parseIntScientific.sol#128)\n\t-mint = mint.mul(10) (../../contracts/internals/parseIntScientific.sol#75)\n", "markdown": "[ParseIntScientific._parseIntScientific(string,uint256)](../../contracts/internals/parseIntScientific.sol#L49-L163) performs a multiplication on the result of a division:\n\t-[mint /= 10 ** (mintExp - _magnitudeMult)](../../contracts/internals/parseIntScientific.sol#L128)\n\t-[mint = mint.mul(10)](../../contracts/internals/parseIntScientific.sol#L75)\n", "id": "f8b2ecf16caf3e893d94cb419fc0ab2f8ea68dd9192e609cb5a3db13bc7a8e17", "check": "divide-before-multiply", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "constructor", "source_mapping": {"start": 3210, "length": 584, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Oracle", "source_mapping": {"start": 1225, "length": 15495, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347], "starting_column": 1, "ending_column": 2}}, "signature": "constructor(address,address,bytes32,bytes32)"}}, {"type": "node", "name": "oraclize_setCustomGasPrice(10000000000)", "source_mapping": {"start": 3703, "length": 39, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [82], "starting_column": 9, "ending_column": 48}, "type_specific_fields": {"parent": {"type": "function", "name": "constructor", "source_mapping": {"start": 3210, "length": 584, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Oracle", "source_mapping": {"start": 1225, "length": 15495, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347], "starting_column": 1, "ending_column": 2}}, "signature": "constructor(address,address,bytes32,bytes32)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "oraclize_setProof(proofType_Native)", "source_mapping": {"start": 3752, "length": 35, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [83], "starting_column": 9, "ending_column": 44}, "type_specific_fields": {"parent": {"type": "function", "name": "constructor", "source_mapping": {"start": 3210, "length": 584, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Oracle", "source_mapping": {"start": 1225, "length": 15495, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347], "starting_column": 1, "ending_column": 2}}, "signature": "constructor(address,address,bytes32,bytes32)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "oraclize_setProof(proofType_Native)", "source_mapping": {"start": 3752, "length": 35, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [83], "starting_column": 9, "ending_column": 44}, "type_specific_fields": {"parent": {"type": "function", "name": "constructor", "source_mapping": {"start": 3210, "length": 584, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Oracle", "source_mapping": {"start": 1225, "length": 15495, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347], "starting_column": 1, "ending_column": 2}}, "signature": "constructor(address,address,bytes32,bytes32)"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "oraclize"}}, {"type": "node", "name": "oraclize_setProof(proofType_Native)", "source_mapping": {"start": 3752, "length": 35, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [83], "starting_column": 9, "ending_column": 44}, "type_specific_fields": {"parent": {"type": "function", "name": "constructor", "source_mapping": {"start": 3210, "length": 584, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Oracle", "source_mapping": {"start": 1225, "length": 15495, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347], "starting_column": 1, "ending_column": 2}}, "signature": "constructor(address,address,bytes32,bytes32)"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "OAR"}}], "description": "Reentrancy in Oracle.constructor(address,address,bytes32,bytes32) (../../contracts/oracle.sol#76-84):\n\tExternal calls:\n\t- oraclize_setCustomGasPrice(10000000000) (../../contracts/oracle.sol#82)\n\t- oraclize_setProof(proofType_Native) (../../contracts/oracle.sol#83)\n\tState variables written after the call(s):\n\t- usingOraclize.OAR (../../contracts/externals/oraclizeAPI_0.5.sol#277) in oraclize_setProof(proofType_Native) (../../contracts/oracle.sol#83)\n\t- usingOraclize.oraclize (../../contracts/externals/oraclizeAPI_0.5.sol#276) in oraclize_setProof(proofType_Native) (../../contracts/oracle.sol#83)\n", "markdown": "Reentrancy in [Oracle.constructor(address,address,bytes32,bytes32)](../../contracts/oracle.sol#L76-L84):\n\tExternal calls:\n\t- [oraclize_setCustomGasPrice(10000000000)](../../contracts/oracle.sol#L82)\n\t- [oraclize_setProof(proofType_Native)](../../contracts/oracle.sol#L83)\n\tState variables written after the call(s):\n\t- [usingOraclize.OAR](../../contracts/externals/oraclizeAPI_0.5.sol#L277) in [oraclize_setProof(proofType_Native)](../../contracts/oracle.sol#L83)\n\t- [usingOraclize.oraclize](../../contracts/externals/oraclizeAPI_0.5.sol#L276) in [oraclize_setProof(proofType_Native)](../../contracts/oracle.sol#L83)\n", "id": "145e9d5c8d484249fb333dd150e5769fb409316350e7126dbd818f67cd953b4c", "check": "reentrancy-no-eth", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_parseRate", "source_mapping": {"start": 6977, "length": 877, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Oracle", "source_mapping": {"start": 1225, "length": 15495, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347], "starting_column": 1, "ending_column": 2}}, "signature": "_parseRate(string)"}}, {"type": "node", "name": "body.split(:.toSlice())", "source_mapping": {"start": 7510, "length": 25, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [162], "starting_column": 9, "ending_column": 34}, "type_specific_fields": {"parent": {"type": "function", "name": "_parseRate", "source_mapping": {"start": 6977, "length": 877, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Oracle", "source_mapping": {"start": 1225, "length": 15495, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347], "starting_column": 1, "ending_column": 2}}, "signature": "_parseRate(string)"}}}}], "description": "Oracle._parseRate(string) (../../contracts/oracle.sol#152-169) ignores return value by body.split(:.toSlice()) (../../contracts/oracle.sol#162)\n", "markdown": "[Oracle._parseRate(string)](../../contracts/oracle.sol#L152-L169) ignores return value by [body.split(:.toSlice())](../../contracts/oracle.sol#L162)\n", "id": "4f4dde8e09b7fab422ef8516964bd57199df1959fa65c0853e5a163c6a292488", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_parseRate", "source_mapping": {"start": 6977, "length": 877, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Oracle", "source_mapping": {"start": 1225, "length": 15495, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347], "starting_column": 1, "ending_column": 2}}, "signature": "_parseRate(string)"}}, {"type": "node", "name": "body.until(}.toSlice())", "source_mapping": {"start": 7663, "length": 25, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [165], "starting_column": 9, "ending_column": 34}, "type_specific_fields": {"parent": {"type": "function", "name": "_parseRate", "source_mapping": {"start": 6977, "length": 877, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Oracle", "source_mapping": {"start": 1225, "length": 15495, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347], "starting_column": 1, "ending_column": 2}}, "signature": "_parseRate(string)"}}}}], "description": "Oracle._parseRate(string) (../../contracts/oracle.sol#152-169) ignores return value by body.until(}.toSlice()) (../../contracts/oracle.sol#165)\n", "markdown": "[Oracle._parseRate(string)](../../contracts/oracle.sol#L152-L169) ignores return value by [body.until(}.toSlice())](../../contracts/oracle.sol#L165)\n", "id": "ecd08aeb7dd4faaa07dc115004766b21c0507249bce3660a1f56e4a94f5b272a", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "__callback", "source_mapping": {"start": 5678, "length": 1151, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Oracle", "source_mapping": {"start": 1225, "length": 15495, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347], "starting_column": 1, "ending_column": 2}}, "signature": "__callback(bytes32,string,bytes)"}}, {"type": "node", "name": "require(bool,string)(msg.sender == oraclize_cbAddress(),sender is not oraclize)", "source_mapping": {"start": 5838, "length": 69, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [126], "starting_column": 9, "ending_column": 78}, "type_specific_fields": {"parent": {"type": "function", "name": "__callback", "source_mapping": {"start": 5678, "length": 1151, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Oracle", "source_mapping": {"start": 1225, "length": 15495, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347], "starting_column": 1, "ending_column": 2}}, "signature": "__callback(bytes32,string,bytes)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "delete _queryToToken[_queryID]", "source_mapping": {"start": 6714, "length": 30, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [144], "starting_column": 13, "ending_column": 43}, "type_specific_fields": {"parent": {"type": "function", "name": "__callback", "source_mapping": {"start": 5678, "length": 1151, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Oracle", "source_mapping": {"start": 1225, "length": 15495, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347], "starting_column": 1, "ending_column": 2}}, "signature": "__callback(bytes32,string,bytes)"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "_queryToToken"}}], "description": "Reentrancy in Oracle.__callback(bytes32,string,bytes) (../../contracts/oracle.sol#124-148):\n\tExternal calls:\n\t- require(bool,string)(msg.sender == oraclize_cbAddress(),sender is not oraclize) (../../contracts/oracle.sol#126)\n\tState variables written after the call(s):\n\t- Oracle._queryToToken (../../contracts/oracle.sol#69) in delete _queryToToken[_queryID] (../../contracts/oracle.sol#144)\n", "markdown": "Reentrancy in [Oracle.__callback(bytes32,string,bytes)](../../contracts/oracle.sol#L124-L148):\n\tExternal calls:\n\t- [require(bool,string)(msg.sender == oraclize_cbAddress(),sender is not oraclize)](../../contracts/oracle.sol#L126)\n\tState variables written after the call(s):\n\t- [Oracle._queryToToken](../../contracts/oracle.sol#L69) in [delete _queryToToken[_queryID]](../../contracts/oracle.sol#L144)\n", "id": "9df9180e83e9fb4f4f4f4624d0e360f81c29ace8d43a3ed948cbcb3d582da0ee", "check": "reentrancy-benign", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_updateTokenRates", "source_mapping": {"start": 8025, "length": 1670, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Oracle", "source_mapping": {"start": 1225, "length": 15495, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347], "starting_column": 1, "ending_column": 2}}, "signature": "_updateTokenRates(uint256)"}}, {"type": "node", "name": "queryID = oraclize_query(URL,apiPrefix.concat(sym).toSlice().concat(apiSuffix),_gasLimit)", "source_mapping": {"start": 9309, "length": 101, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [195], "starting_column": 17, "ending_column": 118}, "type_specific_fields": {"parent": {"type": "function", "name": "_updateTokenRates", "source_mapping": {"start": 8025, "length": 1670, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Oracle", "source_mapping": {"start": 1225, "length": 15495, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347], "starting_column": 1, "ending_column": 2}}, "signature": "_updateTokenRates(uint256)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "_queryToToken[queryID] = tokenAddresses[i]", "source_mapping": {"start": 9510, "length": 42, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [197], "starting_column": 17, "ending_column": 59}, "type_specific_fields": {"parent": {"type": "function", "name": "_updateTokenRates", "source_mapping": {"start": 8025, "length": 1670, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Oracle", "source_mapping": {"start": 1225, "length": 15495, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347], "starting_column": 1, "ending_column": 2}}, "signature": "_updateTokenRates(uint256)"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "_queryToToken"}}], "description": "Reentrancy in Oracle._updateTokenRates(uint256) (../../contracts/oracle.sol#173-202):\n\tExternal calls:\n\t- queryID = oraclize_query(URL,apiPrefix.concat(sym).toSlice().concat(apiSuffix),_gasLimit) (../../contracts/oracle.sol#195)\n\tState variables written after the call(s):\n\t- Oracle._queryToToken (../../contracts/oracle.sol#69) in _queryToToken[queryID] = tokenAddresses[i] (../../contracts/oracle.sol#197)\n", "markdown": "Reentrancy in [Oracle._updateTokenRates(uint256)](../../contracts/oracle.sol#L173-L202):\n\tExternal calls:\n\t- [queryID = oraclize_query(URL,apiPrefix.concat(sym).toSlice().concat(apiSuffix),_gasLimit)](../../contracts/oracle.sol#L195)\n\tState variables written after the call(s):\n\t- [Oracle._queryToToken](../../contracts/oracle.sol#L69) in [_queryToToken[queryID] = tokenAddresses[i]](../../contracts/oracle.sol#L197)\n", "id": "13e8648d299dd6174d83a44e5f6780c95921ee5bdcfd52abd4e828e3d4fb6b60", "check": "reentrancy-benign", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_updateTokenRatesList", "source_mapping": {"start": 9967, "length": 1778, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Oracle", "source_mapping": {"start": 1225, "length": 15495, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347], "starting_column": 1, "ending_column": 2}}, "signature": "_updateTokenRatesList(uint256,address[])"}}, {"type": "node", "name": "queryID = oraclize_query(URL,apiPrefix.concat(symbol).toSlice().concat(apiSuffix),_gasLimit)", "source_mapping": {"start": 11357, "length": 104, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [229], "starting_column": 17, "ending_column": 121}, "type_specific_fields": {"parent": {"type": "function", "name": "_updateTokenRatesList", "source_mapping": {"start": 9967, "length": 1778, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Oracle", "source_mapping": {"start": 1225, "length": 15495, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347], "starting_column": 1, "ending_column": 2}}, "signature": "_updateTokenRatesList(uint256,address[])"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "_queryToToken[queryID] = _tokenList[i]", "source_mapping": {"start": 11561, "length": 38, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [231], "starting_column": 17, "ending_column": 55}, "type_specific_fields": {"parent": {"type": "function", "name": "_updateTokenRatesList", "source_mapping": {"start": 9967, "length": 1778, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Oracle", "source_mapping": {"start": 1225, "length": 15495, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347], "starting_column": 1, "ending_column": 2}}, "signature": "_updateTokenRatesList(uint256,address[])"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "_queryToToken"}}], "description": "Reentrancy in Oracle._updateTokenRatesList(uint256,address[]) (../../contracts/oracle.sol#207-236):\n\tExternal calls:\n\t- queryID = oraclize_query(URL,apiPrefix.concat(symbol).toSlice().concat(apiSuffix),_gasLimit) (../../contracts/oracle.sol#229)\n\tState variables written after the call(s):\n\t- Oracle._queryToToken (../../contracts/oracle.sol#69) in _queryToToken[queryID] = _tokenList[i] (../../contracts/oracle.sol#231)\n", "markdown": "Reentrancy in [Oracle._updateTokenRatesList(uint256,address[])](../../contracts/oracle.sol#L207-L236):\n\tExternal calls:\n\t- [queryID = oraclize_query(URL,apiPrefix.concat(symbol).toSlice().concat(apiSuffix),_gasLimit)](../../contracts/oracle.sol#L229)\n\tState variables written after the call(s):\n\t- [Oracle._queryToToken](../../contracts/oracle.sol#L69) in [_queryToToken[queryID] = _tokenList[i]](../../contracts/oracle.sol#L231)\n", "id": "da706edd3bac0e3f63e079f67abca627c16ffa165e4917efb4aa123a306ae1e0", "check": "reentrancy-benign", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "constructor", "source_mapping": {"start": 3210, "length": 584, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Oracle", "source_mapping": {"start": 1225, "length": 15495, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347], "starting_column": 1, "ending_column": 2}}, "signature": "constructor(address,address,bytes32,bytes32)"}}, {"type": "node", "name": "oraclize_setCustomGasPrice(10000000000)", "source_mapping": {"start": 3703, "length": 39, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [82], "starting_column": 9, "ending_column": 48}, "type_specific_fields": {"parent": {"type": "function", "name": "constructor", "source_mapping": {"start": 3210, "length": 584, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Oracle", "source_mapping": {"start": 1225, "length": 15495, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347], "starting_column": 1, "ending_column": 2}}, "signature": "constructor(address,address,bytes32,bytes32)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "oraclize_setProof(proofType_Native)", "source_mapping": {"start": 3752, "length": 35, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [83], "starting_column": 9, "ending_column": 44}, "type_specific_fields": {"parent": {"type": "function", "name": "constructor", "source_mapping": {"start": 3210, "length": 584, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Oracle", "source_mapping": {"start": 1225, "length": 15495, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347], "starting_column": 1, "ending_column": 2}}, "signature": "constructor(address,address,bytes32,bytes32)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "oraclize_setProof(proofType_Native)", "source_mapping": {"start": 3752, "length": 35, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [83], "starting_column": 9, "ending_column": 44}, "type_specific_fields": {"parent": {"type": "function", "name": "constructor", "source_mapping": {"start": 3210, "length": 584, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Oracle", "source_mapping": {"start": 1225, "length": 15495, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347], "starting_column": 1, "ending_column": 2}}, "signature": "constructor(address,address,bytes32,bytes32)"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "oraclize_network_name"}}], "description": "Reentrancy in Oracle.constructor(address,address,bytes32,bytes32) (../../contracts/oracle.sol#76-84):\n\tExternal calls:\n\t- oraclize_setCustomGasPrice(10000000000) (../../contracts/oracle.sol#82)\n\t- oraclize_setProof(proofType_Native) (../../contracts/oracle.sol#83)\n\tState variables written after the call(s):\n\t- usingOraclize.oraclize_network_name (../../contracts/externals/oraclizeAPI_0.5.sol#290) in oraclize_setProof(proofType_Native) (../../contracts/oracle.sol#83)\n", "markdown": "Reentrancy in [Oracle.constructor(address,address,bytes32,bytes32)](../../contracts/oracle.sol#L76-L84):\n\tExternal calls:\n\t- [oraclize_setCustomGasPrice(10000000000)](../../contracts/oracle.sol#L82)\n\t- [oraclize_setProof(proofType_Native)](../../contracts/oracle.sol#L83)\n\tState variables written after the call(s):\n\t- [usingOraclize.oraclize_network_name](../../contracts/externals/oraclizeAPI_0.5.sol#L290) in [oraclize_setProof(proofType_Native)](../../contracts/oracle.sol#L83)\n", "id": "cc09cdd29bfde97f27d2a5d4f189b6763e920a5c3f9b9b64dcd985fd076b1c29", "check": "reentrancy-benign", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_updateTokenRates", "source_mapping": {"start": 8025, "length": 1670, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Oracle", "source_mapping": {"start": 1225, "length": 15495, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347], "starting_column": 1, "ending_column": 2}}, "signature": "_updateTokenRates(uint256)"}}, {"type": "node", "name": "oraclize_getPrice(URL) * tokenAddresses.length > address(this).balance", "source_mapping": {"start": 8427, "length": 72, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [180], "starting_column": 20, "ending_column": 92}, "type_specific_fields": {"parent": {"type": "function", "name": "_updateTokenRates", "source_mapping": {"start": 8025, "length": 1670, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Oracle", "source_mapping": {"start": 1225, "length": 15495, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347], "starting_column": 1, "ending_column": 2}}, "signature": "_updateTokenRates(uint256)"}}}, "additional_fields": {"underlying_type": "external_calls"}}], "description": "Reentrancy in Oracle._updateTokenRates(uint256) (../../contracts/oracle.sol#173-202):\n\tExternal calls:\n\t- oraclize_getPrice(URL) * tokenAddresses.length > address(this).balance (../../contracts/oracle.sol#180)\n\tEvent emitted after the call(s):\n\t- FailedUpdateRequest(insufficient balance) (../../contracts/oracle.sol#182)\n", "markdown": "Reentrancy in [Oracle._updateTokenRates(uint256)](../../contracts/oracle.sol#L173-L202):\n\tExternal calls:\n\t- [oraclize_getPrice(URL) * tokenAddresses.length > address(this).balance](../../contracts/oracle.sol#L180)\n\tEvent emitted after the call(s):\n\t- [FailedUpdateRequest(insufficient balance)](../../contracts/oracle.sol#L182)\n", "id": "b1b260294a9174a034f41084a4052fd8534e81b54c6f21119a3dbff8d7863521", "check": "reentrancy-events", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_updateTokenRates", "source_mapping": {"start": 8025, "length": 1670, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Oracle", "source_mapping": {"start": 1225, "length": 15495, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347], "starting_column": 1, "ending_column": 2}}, "signature": "_updateTokenRates(uint256)"}}, {"type": "node", "name": "queryID = oraclize_query(URL,apiPrefix.concat(sym).toSlice().concat(apiSuffix),_gasLimit)", "source_mapping": {"start": 9309, "length": 101, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [195], "starting_column": 17, "ending_column": 118}, "type_specific_fields": {"parent": {"type": "function", "name": "_updateTokenRates", "source_mapping": {"start": 8025, "length": 1670, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Oracle", "source_mapping": {"start": 1225, "length": 15495, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347], "starting_column": 1, "ending_column": 2}}, "signature": "_updateTokenRates(uint256)"}}}, "additional_fields": {"underlying_type": "external_calls"}}], "description": "Reentrancy in Oracle._updateTokenRates(uint256) (../../contracts/oracle.sol#173-202):\n\tExternal calls:\n\t- queryID = oraclize_query(URL,apiPrefix.concat(sym).toSlice().concat(apiSuffix),_gasLimit) (../../contracts/oracle.sol#195)\n\tEvent emitted after the call(s):\n\t- RequestedUpdate(sym.toString(),queryID) (../../contracts/oracle.sol#199)\n", "markdown": "Reentrancy in [Oracle._updateTokenRates(uint256)](../../contracts/oracle.sol#L173-L202):\n\tExternal calls:\n\t- [queryID = oraclize_query(URL,apiPrefix.concat(sym).toSlice().concat(apiSuffix),_gasLimit)](../../contracts/oracle.sol#L195)\n\tEvent emitted after the call(s):\n\t- [RequestedUpdate(sym.toString(),queryID)](../../contracts/oracle.sol#L199)\n", "id": "6adade20a88d6343b2632a13a9d9788fbabed5c3ebcb245965fdaba0d8bf0683", "check": "reentrancy-events", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_updateTokenRatesList", "source_mapping": {"start": 9967, "length": 1778, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Oracle", "source_mapping": {"start": 1225, "length": 15495, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347], "starting_column": 1, "ending_column": 2}}, "signature": "_updateTokenRatesList(uint256,address[])"}}, {"type": "node", "name": "oraclize_getPrice(URL) * _tokenList.length > address(this).balance", "source_mapping": {"start": 10341, "length": 68, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [213], "starting_column": 20, "ending_column": 88}, "type_specific_fields": {"parent": {"type": "function", "name": "_updateTokenRatesList", "source_mapping": {"start": 9967, "length": 1778, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Oracle", "source_mapping": {"start": 1225, "length": 15495, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347], "starting_column": 1, "ending_column": 2}}, "signature": "_updateTokenRatesList(uint256,address[])"}}}, "additional_fields": {"underlying_type": "external_calls"}}], "description": "Reentrancy in Oracle._updateTokenRatesList(uint256,address[]) (../../contracts/oracle.sol#207-236):\n\tExternal calls:\n\t- oraclize_getPrice(URL) * _tokenList.length > address(this).balance (../../contracts/oracle.sol#213)\n\tEvent emitted after the call(s):\n\t- FailedUpdateRequest(insufficient balance) (../../contracts/oracle.sol#215)\n", "markdown": "Reentrancy in [Oracle._updateTokenRatesList(uint256,address[])](../../contracts/oracle.sol#L207-L236):\n\tExternal calls:\n\t- [oraclize_getPrice(URL) * _tokenList.length > address(this).balance](../../contracts/oracle.sol#L213)\n\tEvent emitted after the call(s):\n\t- [FailedUpdateRequest(insufficient balance)](../../contracts/oracle.sol#L215)\n", "id": "2909537287d7900b02d7b32f1c6b2a6653edc8b431298b6ddca1a183b7e44e28", "check": "reentrancy-events", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_updateTokenRatesList", "source_mapping": {"start": 9967, "length": 1778, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Oracle", "source_mapping": {"start": 1225, "length": 15495, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347], "starting_column": 1, "ending_column": 2}}, "signature": "_updateTokenRatesList(uint256,address[])"}}, {"type": "node", "name": "queryID = oraclize_query(URL,apiPrefix.concat(symbol).toSlice().concat(apiSuffix),_gasLimit)", "source_mapping": {"start": 11357, "length": 104, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [229], "starting_column": 17, "ending_column": 121}, "type_specific_fields": {"parent": {"type": "function", "name": "_updateTokenRatesList", "source_mapping": {"start": 9967, "length": 1778, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Oracle", "source_mapping": {"start": 1225, "length": 15495, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347], "starting_column": 1, "ending_column": 2}}, "signature": "_updateTokenRatesList(uint256,address[])"}}}, "additional_fields": {"underlying_type": "external_calls"}}], "description": "Reentrancy in Oracle._updateTokenRatesList(uint256,address[]) (../../contracts/oracle.sol#207-236):\n\tExternal calls:\n\t- queryID = oraclize_query(URL,apiPrefix.concat(symbol).toSlice().concat(apiSuffix),_gasLimit) (../../contracts/oracle.sol#229)\n\tEvent emitted after the call(s):\n\t- RequestedUpdate(symbol.toString(),queryID) (../../contracts/oracle.sol#233)\n", "markdown": "Reentrancy in [Oracle._updateTokenRatesList(uint256,address[])](../../contracts/oracle.sol#L207-L236):\n\tExternal calls:\n\t- [queryID = oraclize_query(URL,apiPrefix.concat(symbol).toSlice().concat(apiSuffix),_gasLimit)](../../contracts/oracle.sol#L229)\n\tEvent emitted after the call(s):\n\t- [RequestedUpdate(symbol.toString(),queryID)](../../contracts/oracle.sol#L233)\n", "id": "bf326ce0611dc01df71ad8ca5b23dc151821feb54aef0708d7e80a25e7fa66a5", "check": "reentrancy-events", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "claim", "source_mapping": {"start": 5209, "length": 184, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [114, 115, 116, 117], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Oracle", "source_mapping": {"start": 1225, "length": 15495, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347], "starting_column": 1, "ending_column": 2}}, "signature": "claim(address,address,uint256)"}}, {"type": "node", "name": "_safeTransfer(_to,_asset,_amount)", "source_mapping": {"start": 5307, "length": 35, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [115], "starting_column": 9, "ending_column": 44}, "type_specific_fields": {"parent": {"type": "function", "name": "claim", "source_mapping": {"start": 5209, "length": 184, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [114, 115, 116, 117], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Oracle", "source_mapping": {"start": 1225, "length": 15495, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347], "starting_column": 1, "ending_column": 2}}, "signature": "claim(address,address,uint256)"}}}, "additional_fields": {"underlying_type": "external_calls"}}], "description": "Reentrancy in Oracle.claim(address,address,uint256) (../../contracts/oracle.sol#114-117):\n\tExternal calls:\n\t- _safeTransfer(_to,_asset,_amount) (../../contracts/oracle.sol#115)\n\tEvent emitted after the call(s):\n\t- Claimed(_to,_asset,_amount) (../../contracts/oracle.sol#116)\n", "markdown": "Reentrancy in [Oracle.claim(address,address,uint256)](../../contracts/oracle.sol#L114-L117):\n\tExternal calls:\n\t- [_safeTransfer(_to,_asset,_amount)](../../contracts/oracle.sol#L115)\n\tEvent emitted after the call(s):\n\t- [Claimed(_to,_asset,_amount)](../../contracts/oracle.sol#L116)\n", "id": "838fe2f76c9ca9ef6c6eda4cb6ddf4deb7e543fec73cd14ac51d596b11078c69", "check": "reentrancy-events", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "setCustomGasPrice", "source_mapping": {"start": 4235, "length": 173, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [95, 96, 97, 98], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Oracle", "source_mapping": {"start": 1225, "length": 15495, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347], "starting_column": 1, "ending_column": 2}}, "signature": "setCustomGasPrice(uint256)"}}, {"type": "node", "name": "oraclize_setCustomGasPrice(_gasPrice)", "source_mapping": {"start": 4315, "length": 37, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [96], "starting_column": 9, "ending_column": 46}, "type_specific_fields": {"parent": {"type": "function", "name": "setCustomGasPrice", "source_mapping": {"start": 4235, "length": 173, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [95, 96, 97, 98], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Oracle", "source_mapping": {"start": 1225, "length": 15495, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347], "starting_column": 1, "ending_column": 2}}, "signature": "setCustomGasPrice(uint256)"}}}, "additional_fields": {"underlying_type": "external_calls"}}], "description": "Reentrancy in Oracle.setCustomGasPrice(uint256) (../../contracts/oracle.sol#95-98):\n\tExternal calls:\n\t- oraclize_setCustomGasPrice(_gasPrice) (../../contracts/oracle.sol#96)\n\tEvent emitted after the call(s):\n\t- SetGasPrice(msg.sender,_gasPrice) (../../contracts/oracle.sol#97)\n", "markdown": "Reentrancy in [Oracle.setCustomGasPrice(uint256)](../../contracts/oracle.sol#L95-L98):\n\tExternal calls:\n\t- [oraclize_setCustomGasPrice(_gasPrice)](../../contracts/oracle.sol#L96)\n\tEvent emitted after the call(s):\n\t- [SetGasPrice(msg.sender,_gasPrice)](../../contracts/oracle.sol#L97)\n", "id": "1f16da36cf525f60bbd52331dcd028bbc997552faa9539c6006d85d4211825c8", "check": "reentrancy-events", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "constructor", "source_mapping": {"start": 3210, "length": 584, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Oracle", "source_mapping": {"start": 1225, "length": 15495, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347], "starting_column": 1, "ending_column": 2}}, "signature": "constructor(address,address,bytes32,bytes32)"}}, {"type": "node", "name": "oraclize_setCustomGasPrice(10000000000)", "source_mapping": {"start": 3703, "length": 39, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [82], "starting_column": 9, "ending_column": 48}, "type_specific_fields": {"parent": {"type": "function", "name": "constructor", "source_mapping": {"start": 3210, "length": 584, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Oracle", "source_mapping": {"start": 1225, "length": 15495, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347], "starting_column": 1, "ending_column": 2}}, "signature": "constructor(address,address,bytes32,bytes32)"}}}}], "description": "Oracle.constructor(address,address,bytes32,bytes32) (../../contracts/oracle.sol#76-84) uses literals with too many digits:\n\t- oraclize_setCustomGasPrice(10000000000) (../../contracts/oracle.sol#82)\n", "markdown": "[Oracle.constructor(address,address,bytes32,bytes32)](../../contracts/oracle.sol#L76-L84) uses literals with too many digits:\n\t- [oraclize_setCustomGasPrice(10000000000)](../../contracts/oracle.sol#L82)\n", "id": "39e1f7c58a43e434eef6b268ca3ad4ef0c74e291b3e4365b652aa7ce7191ec0e", "check": "too-many-digits", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "burn", "source_mapping": {"start": 2873, "length": 841, "filename_used": "/contracts/tools/slither/../../contracts/holder.sol", "filename_relative": "../../contracts/holder.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/holder.sol", "filename_short": "../../contracts/holder.sol", "is_dependency": false, "lines": [68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Holder", "source_mapping": {"start": 1249, "length": 3565, "filename_used": "/contracts/tools/slither/../../contracts/holder.sol", "filename_relative": "../../contracts/holder.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/holder.sol", "filename_short": "../../contracts/holder.sol", "is_dependency": false, "lines": [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109], "starting_column": 1, "ending_column": 2}}, "signature": "burn(address,uint256)"}}, {"type": "node", "name": "_safeTransfer(_to,redeemableAddresses[i],redeemableAmount)", "source_mapping": {"start": 3518, "length": 60, "filename_used": "/contracts/tools/slither/../../contracts/holder.sol", "filename_relative": "../../contracts/holder.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/holder.sol", "filename_short": "../../contracts/holder.sol", "is_dependency": false, "lines": [79], "starting_column": 17, "ending_column": 77}, "type_specific_fields": {"parent": {"type": "function", "name": "burn", "source_mapping": {"start": 2873, "length": 841, "filename_used": "/contracts/tools/slither/../../contracts/holder.sol", "filename_relative": "../../contracts/holder.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/holder.sol", "filename_short": "../../contracts/holder.sol", "is_dependency": false, "lines": [68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Holder", "source_mapping": {"start": 1249, "length": 3565, "filename_used": "/contracts/tools/slither/../../contracts/holder.sol", "filename_relative": "../../contracts/holder.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/holder.sol", "filename_short": "../../contracts/holder.sol", "is_dependency": false, "lines": [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109], "starting_column": 1, "ending_column": 2}}, "signature": "burn(address,uint256)"}}}, "additional_fields": {"underlying_type": "external_calls"}}], "description": "Reentrancy in Holder.burn(address,uint256) (../../contracts/holder.sol#68-85):\n\tExternal calls:\n\t- _safeTransfer(_to,redeemableAddresses[i],redeemableAmount) (../../contracts/holder.sol#79)\n\tEvent emitted after the call(s):\n\t- CashAndBurned(_to,redeemableAddresses[i],redeemableAmount) (../../contracts/holder.sol#80)\n", "markdown": "Reentrancy in [Holder.burn(address,uint256)](../../contracts/holder.sol#L68-L85):\n\tExternal calls:\n\t- [_safeTransfer(_to,redeemableAddresses[i],redeemableAmount)](../../contracts/holder.sol#L79)\n\tEvent emitted after the call(s):\n\t- [CashAndBurned(_to,redeemableAddresses[i],redeemableAmount)](../../contracts/holder.sol#L80)\n", "id": "4883d8b5f0464e37fdee3911105f426388438b40a07ad77752f94dd83c9015d3", "check": "reentrancy-events", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "nonRedeemableTokenClaim", "source_mapping": {"start": 3964, "length": 667, "filename_used": "/contracts/tools/slither/../../contracts/holder.sol", "filename_relative": "../../contracts/holder.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/holder.sol", "filename_short": "../../contracts/holder.sol", "is_dependency": false, "lines": [90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Holder", "source_mapping": {"start": 1249, "length": 3565, "filename_used": "/contracts/tools/slither/../../contracts/holder.sol", "filename_relative": "../../contracts/holder.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/holder.sol", "filename_short": "../../contracts/holder.sol", "is_dependency": false, "lines": [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109], "starting_column": 1, "ending_column": 2}}, "signature": "nonRedeemableTokenClaim(address,address[])"}}, {"type": "node", "name": "_safeTransfer(_to,_nonRedeemableAddresses[i],claimBalance)", "source_mapping": {"start": 4441, "length": 60, "filename_used": "/contracts/tools/slither/../../contracts/holder.sol", "filename_relative": "../../contracts/holder.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/holder.sol", "filename_short": "../../contracts/holder.sol", "is_dependency": false, "lines": [96], "starting_column": 17, "ending_column": 77}, "type_specific_fields": {"parent": {"type": "function", "name": "nonRedeemableTokenClaim", "source_mapping": {"start": 3964, "length": 667, "filename_used": "/contracts/tools/slither/../../contracts/holder.sol", "filename_relative": "../../contracts/holder.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/holder.sol", "filename_short": "../../contracts/holder.sol", "is_dependency": false, "lines": [90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Holder", "source_mapping": {"start": 1249, "length": 3565, "filename_used": "/contracts/tools/slither/../../contracts/holder.sol", "filename_relative": "../../contracts/holder.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/holder.sol", "filename_short": "../../contracts/holder.sol", "is_dependency": false, "lines": [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109], "starting_column": 1, "ending_column": 2}}, "signature": "nonRedeemableTokenClaim(address,address[])"}}}, "additional_fields": {"underlying_type": "external_calls"}}], "description": "Reentrancy in Holder.nonRedeemableTokenClaim(address,address[]) (../../contracts/holder.sol#90-102):\n\tExternal calls:\n\t- _safeTransfer(_to,_nonRedeemableAddresses[i],claimBalance) (../../contracts/holder.sol#96)\n\tEvent emitted after the call(s):\n\t- Claimed(_to,_nonRedeemableAddresses[i],claimBalance) (../../contracts/holder.sol#97)\n", "markdown": "Reentrancy in [Holder.nonRedeemableTokenClaim(address,address[])](../../contracts/holder.sol#L90-L102):\n\tExternal calls:\n\t- [_safeTransfer(_to,_nonRedeemableAddresses[i],claimBalance)](../../contracts/holder.sol#L96)\n\tEvent emitted after the call(s):\n\t- [Claimed(_to,_nonRedeemableAddresses[i],claimBalance)](../../contracts/holder.sol#L97)\n", "id": "57c506c68402acae21cf8e3fa44add5ed8951c98dbce2513119f4f104634637a", "check": "reentrancy-events", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "convertToStablecoin", "source_mapping": {"start": 34426, "length": 1540, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [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], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Wallet", "source_mapping": {"start": 22334, "length": 17729, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 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, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857], "starting_column": 1, "ending_column": 2}}, "signature": "convertToStablecoin(address,uint256)"}}, {"type": "node", "name": "amountToSend = _amount.mul(rate).div(magnitude)", "source_mapping": {"start": 35317, "length": 47, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [768], "starting_column": 13, "ending_column": 60}, "type_specific_fields": {"parent": {"type": "function", "name": "convertToStablecoin", "source_mapping": {"start": 34426, "length": 1540, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [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], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Wallet", "source_mapping": {"start": 22334, "length": 17729, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 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, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857], "starting_column": 1, "ending_column": 2}}, "signature": "convertToStablecoin(address,uint256)"}}}}, {"type": "node", "name": "amountToSend.mul(stablecoinMagnitude).div(stablecoinRate)", "source_mapping": {"start": 35895, "length": 64, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [777], "starting_column": 9, "ending_column": 73}, "type_specific_fields": {"parent": {"type": "function", "name": "convertToStablecoin", "source_mapping": {"start": 34426, "length": 1540, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [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], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Wallet", "source_mapping": {"start": 22334, "length": 17729, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 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, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857], "starting_column": 1, "ending_column": 2}}, "signature": "convertToStablecoin(address,uint256)"}}}}], "description": "Wallet.convertToStablecoin(address,uint256) (../../contracts/wallet.sol#752-778) performs a multiplication on the result of a division:\n\t-amountToSend = _amount.mul(rate).div(magnitude) (../../contracts/wallet.sol#768)\n\t-amountToSend.mul(stablecoinMagnitude).div(stablecoinRate) (../../contracts/wallet.sol#777)\n", "markdown": "[Wallet.convertToStablecoin(address,uint256)](../../contracts/wallet.sol#L752-L778) performs a multiplication on the result of a division:\n\t-[amountToSend = _amount.mul(rate).div(magnitude)](../../contracts/wallet.sol#L768)\n\t-[amountToSend.mul(stablecoinMagnitude).div(stablecoinRate)](../../contracts/wallet.sol#L777)\n", "id": "9427e4fd8ac32b25bff5654b20554c8b328211491d3e5cc716ff823d44447352", "check": "divide-before-multiply", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "_tokenWhitelistNode", "source_mapping": {"start": 21797, "length": 27, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [503], "starting_column": 35, "ending_column": 62}, "type_specific_fields": {"parent": {"type": "function", "name": "_initializeLoadLimit", "source_mapping": {"start": 21767, "length": 464, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [503, 504, 505, 506, 507, 508, 509], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "LoadLimit", "source_mapping": {"start": 19681, "length": 2552, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510], "starting_column": 1, "ending_column": 2}}, "signature": "_initializeLoadLimit(bytes32)"}}}}, {"type": "variable", "name": "_tokenWhitelistNode", "source_mapping": {"start": 1132, "length": 35, "filename_used": "/contracts/tools/slither/../../contracts/internals/tokenWhitelistable.sol", "filename_relative": "../../contracts/internals/tokenWhitelistable.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/internals/tokenWhitelistable.sol", "filename_short": "../../contracts/internals/tokenWhitelistable.sol", "is_dependency": false, "lines": [29], "starting_column": 5, "ending_column": 40}, "type_specific_fields": {"parent": {"type": "contract", "name": "TokenWhitelistable", "source_mapping": {"start": 998, "length": 4648, "filename_used": "/contracts/tools/slither/../../contracts/internals/tokenWhitelistable.sol", "filename_relative": "../../contracts/internals/tokenWhitelistable.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/internals/tokenWhitelistable.sol", "filename_short": "../../contracts/internals/tokenWhitelistable.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], "starting_column": 1, "ending_column": 2}}}}], "description": "LoadLimit._initializeLoadLimit(bytes32)._tokenWhitelistNode (../../contracts/wallet.sol#503) shadows:\n\t- TokenWhitelistable._tokenWhitelistNode (../../contracts/internals/tokenWhitelistable.sol#29) (state variable)\n", "markdown": "[LoadLimit._initializeLoadLimit(bytes32)._tokenWhitelistNode](../../contracts/wallet.sol#L503) shadows:\n\t- [TokenWhitelistable._tokenWhitelistNode](../../contracts/internals/tokenWhitelistable.sol#L29) (state variable)\n", "id": "8f15cbf6d24a4b17962fde5591cd20736fc2ed8d234ab44f7ef3eab547790f4e", "check": "shadowing-local", "impact": "Low", "confidence": "High"}, {"elements": [{"type": "function", "name": "claim", "source_mapping": {"start": 13279, "length": 184, "filename_used": "/contracts/tools/slither/../../contracts/tokenWhitelist.sol", "filename_relative": "../../contracts/tokenWhitelist.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/tokenWhitelist.sol", "filename_short": "../../contracts/tokenWhitelist.sol", "is_dependency": false, "lines": [277, 278, 279, 280], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TokenWhitelist", "source_mapping": {"start": 1938, "length": 15854, "filename_used": "/contracts/tools/slither/../../contracts/tokenWhitelist.sol", "filename_relative": "../../contracts/tokenWhitelist.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/tokenWhitelist.sol", "filename_short": "../../contracts/tokenWhitelist.sol", "is_dependency": false, "lines": [49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371], "starting_column": 1, "ending_column": 2}}, "signature": "claim(address,address,uint256)"}}, {"type": "node", "name": "_safeTransfer(_to,_asset,_amount)", "source_mapping": {"start": 13377, "length": 35, "filename_used": "/contracts/tools/slither/../../contracts/tokenWhitelist.sol", "filename_relative": "../../contracts/tokenWhitelist.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/tokenWhitelist.sol", "filename_short": "../../contracts/tokenWhitelist.sol", "is_dependency": false, "lines": [278], "starting_column": 9, "ending_column": 44}, "type_specific_fields": {"parent": {"type": "function", "name": "claim", "source_mapping": {"start": 13279, "length": 184, "filename_used": "/contracts/tools/slither/../../contracts/tokenWhitelist.sol", "filename_relative": "../../contracts/tokenWhitelist.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/tokenWhitelist.sol", "filename_short": "../../contracts/tokenWhitelist.sol", "is_dependency": false, "lines": [277, 278, 279, 280], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TokenWhitelist", "source_mapping": {"start": 1938, "length": 15854, "filename_used": "/contracts/tools/slither/../../contracts/tokenWhitelist.sol", "filename_relative": "../../contracts/tokenWhitelist.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/tokenWhitelist.sol", "filename_short": "../../contracts/tokenWhitelist.sol", "is_dependency": false, "lines": [49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371], "starting_column": 1, "ending_column": 2}}, "signature": "claim(address,address,uint256)"}}}, "additional_fields": {"underlying_type": "external_calls"}}], "description": "Reentrancy in TokenWhitelist.claim(address,address,uint256) (../../contracts/tokenWhitelist.sol#277-280):\n\tExternal calls:\n\t- _safeTransfer(_to,_asset,_amount) (../../contracts/tokenWhitelist.sol#278)\n\tEvent emitted after the call(s):\n\t- Claimed(_to,_asset,_amount) (../../contracts/tokenWhitelist.sol#279)\n", "markdown": "Reentrancy in [TokenWhitelist.claim(address,address,uint256)](../../contracts/tokenWhitelist.sol#L277-L280):\n\tExternal calls:\n\t- [_safeTransfer(_to,_asset,_amount)](../../contracts/tokenWhitelist.sol#L278)\n\tEvent emitted after the call(s):\n\t- [Claimed(_to,_asset,_amount)](../../contracts/tokenWhitelist.sol#L279)\n", "id": "2ca6fdd6302454fdf9a41e8c3cc4452a5a1dbee301b2675f010d9d2966e80e75", "check": "reentrancy-events", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "executeRelayedTransaction", "source_mapping": {"start": 26519, "length": 1111, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Wallet", "source_mapping": {"start": 22334, "length": 17729, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 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, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857], "starting_column": 1, "ending_column": 2}}, "signature": "executeRelayedTransaction(uint256,bytes,bytes)"}}, {"type": "node", "name": "(success,returndata) = address(this).call(_data)", "source_mapping": {"start": 27449, "length": 67, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [614], "starting_column": 9, "ending_column": 76}, "type_specific_fields": {"parent": {"type": "function", "name": "executeRelayedTransaction", "source_mapping": {"start": 26519, "length": 1111, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Wallet", "source_mapping": {"start": 22334, "length": 17729, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 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, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857], "starting_column": 1, "ending_column": 2}}, "signature": "executeRelayedTransaction(uint256,bytes,bytes)"}}}, "additional_fields": {"underlying_type": "external_calls"}}], "description": "Reentrancy in Wallet.executeRelayedTransaction(uint256,bytes,bytes) (../../contracts/wallet.sol#599-618):\n\tExternal calls:\n\t- (success,returndata) = address(this).call(_data) (../../contracts/wallet.sol#614)\n\tEvent emitted after the call(s):\n\t- ExecutedRelayedTransaction(_data,returndata) (../../contracts/wallet.sol#617)\n", "markdown": "Reentrancy in [Wallet.executeRelayedTransaction(uint256,bytes,bytes)](../../contracts/wallet.sol#L599-L618):\n\tExternal calls:\n\t- [(success,returndata) = address(this).call(_data)](../../contracts/wallet.sol#L614)\n\tEvent emitted after the call(s):\n\t- [ExecutedRelayedTransaction(_data,returndata)](../../contracts/wallet.sol#L617)\n", "id": "112c5438d3b21ae470128028e431b55e0dc8b1fe0ce27241678cf1122edc4e27", "check": "reentrancy-events", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "executeTransaction", "source_mapping": {"start": 36226, "length": 1934, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Wallet", "source_mapping": {"start": 22334, "length": 17729, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 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, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857], "starting_column": 1, "ending_column": 2}}, "signature": "executeTransaction(address,uint256,bytes)"}}, {"type": "node", "name": "ERC20(_destination).callOptionalReturn(_data)", "source_mapping": {"start": 37535, "length": 45, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [804], "starting_column": 13, "ending_column": 58}, "type_specific_fields": {"parent": {"type": "function", "name": "executeTransaction", "source_mapping": {"start": 36226, "length": 1934, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Wallet", "source_mapping": {"start": 22334, "length": 17729, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 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, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857], "starting_column": 1, "ending_column": 2}}, "signature": "executeTransaction(address,uint256,bytes)"}}}, "additional_fields": {"underlying_type": "external_calls"}}], "description": "Reentrancy in Wallet.executeTransaction(address,uint256,bytes) (../../contracts/wallet.sol#784-820):\n\tExternal calls:\n\t- ERC20(_destination).callOptionalReturn(_data) (../../contracts/wallet.sol#804)\n\tEvent emitted after the call(s):\n\t- ExecutedTransaction(_destination,_value,_data,b) (../../contracts/wallet.sol#810)\n", "markdown": "Reentrancy in [Wallet.executeTransaction(address,uint256,bytes)](../../contracts/wallet.sol#L784-L820):\n\tExternal calls:\n\t- [ERC20(_destination).callOptionalReturn(_data)](../../contracts/wallet.sol#L804)\n\tEvent emitted after the call(s):\n\t- [ExecutedTransaction(_destination,_value,_data,b)](../../contracts/wallet.sol#L810)\n", "id": "90922d797d564ffa148dd8a01afcc923d8a2f2c9f27b82661bb31094cb90a9fe", "check": "reentrancy-events", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "executeTransaction", "source_mapping": {"start": 36226, "length": 1934, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Wallet", "source_mapping": {"start": 22334, "length": 17729, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 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, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857], "starting_column": 1, "ending_column": 2}}, "signature": "executeTransaction(address,uint256,bytes)"}}, {"type": "node", "name": "(success,returndata) = _destination.call.value(_value)(_data)", "source_mapping": {"start": 37854, "length": 80, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [814], "starting_column": 9, "ending_column": 89}, "type_specific_fields": {"parent": {"type": "function", "name": "executeTransaction", "source_mapping": {"start": 36226, "length": 1934, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Wallet", "source_mapping": {"start": 22334, "length": 17729, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 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, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857], "starting_column": 1, "ending_column": 2}}, "signature": "executeTransaction(address,uint256,bytes)"}}}, "additional_fields": {"underlying_type": "external_calls"}}], "description": "Reentrancy in Wallet.executeTransaction(address,uint256,bytes) (../../contracts/wallet.sol#784-820):\n\tExternal calls:\n\t- (success,returndata) = _destination.call.value(_value)(_data) (../../contracts/wallet.sol#814)\n\tEvent emitted after the call(s):\n\t- ExecutedTransaction(_destination,_value,_data,returndata) (../../contracts/wallet.sol#817)\n", "markdown": "Reentrancy in [Wallet.executeTransaction(address,uint256,bytes)](../../contracts/wallet.sol#L784-L820):\n\tExternal calls:\n\t- [(success,returndata) = _destination.call.value(_value)(_data)](../../contracts/wallet.sol#L814)\n\tEvent emitted after the call(s):\n\t- [ExecutedTransaction(_destination,_value,_data,returndata)](../../contracts/wallet.sol#L817)\n", "id": "1ae3f304d8052577f82d9d3898acef327ffddc3b8b02c5cc38f30bc9a52d0377", "check": "reentrancy-events", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "loadTokenCard", "source_mapping": {"start": 29390, "length": 943, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Wallet", "source_mapping": {"start": 22334, "length": 17729, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 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, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857], "starting_column": 1, "ending_column": 2}}, "signature": "loadTokenCard(address,uint256)"}}, {"type": "node", "name": "ERC20(_asset).safeApprove(licenceAddress,_amount)", "source_mapping": {"start": 30066, "length": 50, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [668], "starting_column": 13, "ending_column": 63}, "type_specific_fields": {"parent": {"type": "function", "name": "loadTokenCard", "source_mapping": {"start": 29390, "length": 943, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Wallet", "source_mapping": {"start": 22334, "length": 17729, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 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, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857], "starting_column": 1, "ending_column": 2}}, "signature": "loadTokenCard(address,uint256)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "ILicence(licenceAddress).load(_asset,_amount)", "source_mapping": {"start": 30130, "length": 46, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [669], "starting_column": 13, "ending_column": 59}, "type_specific_fields": {"parent": {"type": "function", "name": "loadTokenCard", "source_mapping": {"start": 29390, "length": 943, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Wallet", "source_mapping": {"start": 22334, "length": 17729, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 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, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857], "starting_column": 1, "ending_column": 2}}, "signature": "loadTokenCard(address,uint256)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "ILicence(licenceAddress).load.value(_amount)(_asset,_amount)", "source_mapping": {"start": 30207, "length": 61, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [671], "starting_column": 13, "ending_column": 74}, "type_specific_fields": {"parent": {"type": "function", "name": "loadTokenCard", "source_mapping": {"start": 29390, "length": 943, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Wallet", "source_mapping": {"start": 22334, "length": 17729, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 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, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857], "starting_column": 1, "ending_column": 2}}, "signature": "loadTokenCard(address,uint256)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "ILicence(licenceAddress).load.value(_amount)(_asset,_amount)", "source_mapping": {"start": 30207, "length": 61, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [671], "starting_column": 13, "ending_column": 74}, "type_specific_fields": {"parent": {"type": "function", "name": "loadTokenCard", "source_mapping": {"start": 29390, "length": 943, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Wallet", "source_mapping": {"start": 22334, "length": 17729, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 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, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857], "starting_column": 1, "ending_column": 2}}, "signature": "loadTokenCard(address,uint256)"}}}, "additional_fields": {"underlying_type": "external_calls_sending_eth"}}], "description": "Reentrancy in Wallet.loadTokenCard(address,uint256) (../../contracts/wallet.sol#658-675):\n\tExternal calls:\n\t- ERC20(_asset).safeApprove(licenceAddress,_amount) (../../contracts/wallet.sol#668)\n\t- ILicence(licenceAddress).load(_asset,_amount) (../../contracts/wallet.sol#669)\n\t- ILicence(licenceAddress).load.value(_amount)(_asset,_amount) (../../contracts/wallet.sol#671)\n\tExternal calls sending eth:\n\t- ILicence(licenceAddress).load.value(_amount)(_asset,_amount) (../../contracts/wallet.sol#671)\n\tEvent emitted after the call(s):\n\t- LoadedTokenCard(_asset,_amount) (../../contracts/wallet.sol#674)\n", "markdown": "Reentrancy in [Wallet.loadTokenCard(address,uint256)](../../contracts/wallet.sol#L658-L675):\n\tExternal calls:\n\t- [ERC20(_asset).safeApprove(licenceAddress,_amount)](../../contracts/wallet.sol#L668)\n\t- [ILicence(licenceAddress).load(_asset,_amount)](../../contracts/wallet.sol#L669)\n\t- [ILicence(licenceAddress).load.value(_amount)(_asset,_amount)](../../contracts/wallet.sol#L671)\n\tExternal calls sending eth:\n\t- [ILicence(licenceAddress).load.value(_amount)(_asset,_amount)](../../contracts/wallet.sol#L671)\n\tEvent emitted after the call(s):\n\t- [LoadedTokenCard(_asset,_amount)](../../contracts/wallet.sol#L674)\n", "id": "32a5001c60ea652a4680686ea61a7e6e110e48a9a1e1faba88e96733c4931e27", "check": "reentrancy-events", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "transfer", "source_mapping": {"start": 38964, "length": 1097, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Wallet", "source_mapping": {"start": 22334, "length": 17729, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 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, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857], "starting_column": 1, "ending_column": 2}}, "signature": "transfer(address,address,uint256)"}}, {"type": "node", "name": "_safeTransfer(_to,_asset,_amount)", "source_mapping": {"start": 39935, "length": 35, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [853], "starting_column": 9, "ending_column": 44}, "type_specific_fields": {"parent": {"type": "function", "name": "transfer", "source_mapping": {"start": 38964, "length": 1097, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Wallet", "source_mapping": {"start": 22334, "length": 17729, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 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, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857], "starting_column": 1, "ending_column": 2}}, "signature": "transfer(address,address,uint256)"}}}, "additional_fields": {"underlying_type": "external_calls"}}], "description": "Reentrancy in Wallet.transfer(address,address,uint256) (../../contracts/wallet.sol#836-856):\n\tExternal calls:\n\t- _safeTransfer(_to,_asset,_amount) (../../contracts/wallet.sol#853)\n\tEvent emitted after the call(s):\n\t- Transferred(_to,_asset,_amount) (../../contracts/wallet.sol#855)\n", "markdown": "Reentrancy in [Wallet.transfer(address,address,uint256)](../../contracts/wallet.sol#L836-L856):\n\tExternal calls:\n\t- [_safeTransfer(_to,_asset,_amount)](../../contracts/wallet.sol#L853)\n\tEvent emitted after the call(s):\n\t- [Transferred(_to,_asset,_amount)](../../contracts/wallet.sol#L855)\n", "id": "aac85d47c8d408d9a538125346dbc9950619776bd96e62f1f93385989c8b065b", "check": "reentrancy-events", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "topUpGas", "source_mapping": {"start": 30715, "length": 425, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [684, 685, 686, 687, 688, 689, 690, 691], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Wallet", "source_mapping": {"start": 22334, "length": 17729, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 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, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857], "starting_column": 1, "ending_column": 2}}, "signature": "topUpGas(uint256)"}}, {"type": "node", "name": "owner().transfer(_amount)", "source_mapping": {"start": 31014, "length": 25, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [688], "starting_column": 9, "ending_column": 34}, "type_specific_fields": {"parent": {"type": "function", "name": "topUpGas", "source_mapping": {"start": 30715, "length": 425, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [684, 685, 686, 687, 688, 689, 690, 691], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Wallet", "source_mapping": {"start": 22334, "length": 17729, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 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, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857], "starting_column": 1, "ending_column": 2}}, "signature": "topUpGas(uint256)"}}}, "additional_fields": {"underlying_type": "external_calls"}}], "description": "Reentrancy in Wallet.topUpGas(uint256) (../../contracts/wallet.sol#684-691):\n\tExternal calls:\n\t- owner().transfer(_amount) (../../contracts/wallet.sol#688)\n\tEvent emitted after the call(s):\n\t- ToppedUpGas(msg.sender,owner(),_amount) (../../contracts/wallet.sol#690)\n", "markdown": "Reentrancy in [Wallet.topUpGas(uint256)](../../contracts/wallet.sol#L684-L691):\n\tExternal calls:\n\t- [owner().transfer(_amount)](../../contracts/wallet.sol#L688)\n\tEvent emitted after the call(s):\n\t- [ToppedUpGas(msg.sender,owner(),_amount)](../../contracts/wallet.sol#L690)\n", "id": "136c6d6739199960ae0bf308fce78ecb212a08fa6e6c014bcbd923c4f0015046", "check": "reentrancy-unlimited-gas", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "batchExecuteTransaction", "source_mapping": {"start": 31472, "length": 2016, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [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], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Wallet", "source_mapping": {"start": 22334, "length": 17729, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 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, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857], "starting_column": 1, "ending_column": 2}}, "signature": "batchExecuteTransaction(bytes)"}}], "description": "batchExecuteTransaction(bytes) should be declared external:\n\t- Wallet.batchExecuteTransaction(bytes) (../../contracts/wallet.sol#697-732)\n", "markdown": "batchExecuteTransaction(bytes) should be declared external:\n\t- [Wallet.batchExecuteTransaction(bytes)](../../contracts/wallet.sol#L697-L732)\n", "id": "25be393b22a852005aebc844d44187435f0cfff81e7632ced668dd912f0e2261", "check": "external-function", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "function", "name": "load", "source_mapping": {"start": 8283, "length": 1087, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.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": "Licence", "source_mapping": {"start": 1380, "length": 8966, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.sol", "is_dependency": false, "lines": [38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250], "starting_column": 1, "ending_column": 2}}, "signature": "load(address,uint256)"}}, {"type": "node", "name": "_tokenHolder.transfer(licenceAmount)", "source_mapping": {"start": 9073, "length": 36, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.sol", "is_dependency": false, "lines": [215], "starting_column": 17, "ending_column": 53}, "type_specific_fields": {"parent": {"type": "function", "name": "load", "source_mapping": {"start": 8283, "length": 1087, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.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": "Licence", "source_mapping": {"start": 1380, "length": 8966, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.sol", "is_dependency": false, "lines": [38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250], "starting_column": 1, "ending_column": 2}}, "signature": "load(address,uint256)"}}}}, {"type": "node", "name": "_cryptoFloat.transfer(loadAmount)", "source_mapping": {"start": 9127, "length": 33, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.sol", "is_dependency": false, "lines": [216], "starting_column": 17, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "function", "name": "load", "source_mapping": {"start": 8283, "length": 1087, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.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": "Licence", "source_mapping": {"start": 1380, "length": 8966, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.sol", "is_dependency": false, "lines": [38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250], "starting_column": 1, "ending_column": 2}}, "signature": "load(address,uint256)"}}}}], "description": "Licence.load(address,uint256) (../../contracts/licence.sol#201-223) sends eth to arbitrary user\n\tDangerous calls:\n\t- _tokenHolder.transfer(licenceAmount) (../../contracts/licence.sol#215)\n\t- _cryptoFloat.transfer(loadAmount) (../../contracts/licence.sol#216)\n", "markdown": "[Licence.load(address,uint256)](../../contracts/licence.sol#L201-L223) sends eth to arbitrary user\n\tDangerous calls:\n\t- [_tokenHolder.transfer(licenceAmount)](../../contracts/licence.sol#L215)\n\t- [_cryptoFloat.transfer(loadAmount)](../../contracts/licence.sol#L216)\n", "id": "77a1d9fb3657ae0373a1ee2191c5fba1c04170d16f4a8c073a174eedb2b6bc4b", "check": "arbitrary-send", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "claim", "source_mapping": {"start": 7038, "length": 195, "filename_used": "/contracts/tools/slither/../../contracts/controller.sol", "filename_relative": "../../contracts/controller.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/controller.sol", "filename_short": "../../contracts/controller.sol", "is_dependency": false, "lines": [186, 187, 188, 189], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Controller", "source_mapping": {"start": 1459, "length": 5776, "filename_used": "/contracts/tools/slither/../../contracts/controller.sol", "filename_relative": "../../contracts/controller.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/controller.sol", "filename_short": "../../contracts/controller.sol", "is_dependency": false, "lines": [38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 2}}, "signature": "claim(address,address,uint256)"}}, {"type": "node", "name": "_safeTransfer(_to,_asset,_amount)", "source_mapping": {"start": 7147, "length": 35, "filename_used": "/contracts/tools/slither/../../contracts/controller.sol", "filename_relative": "../../contracts/controller.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/controller.sol", "filename_short": "../../contracts/controller.sol", "is_dependency": false, "lines": [187], "starting_column": 9, "ending_column": 44}, "type_specific_fields": {"parent": {"type": "function", "name": "claim", "source_mapping": {"start": 7038, "length": 195, "filename_used": "/contracts/tools/slither/../../contracts/controller.sol", "filename_relative": "../../contracts/controller.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/controller.sol", "filename_short": "../../contracts/controller.sol", "is_dependency": false, "lines": [186, 187, 188, 189], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Controller", "source_mapping": {"start": 1459, "length": 5776, "filename_used": "/contracts/tools/slither/../../contracts/controller.sol", "filename_relative": "../../contracts/controller.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/controller.sol", "filename_short": "../../contracts/controller.sol", "is_dependency": false, "lines": [38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 2}}, "signature": "claim(address,address,uint256)"}}}, "additional_fields": {"underlying_type": "external_calls"}}], "description": "Reentrancy in Controller.claim(address,address,uint256) (../../contracts/controller.sol#186-189):\n\tExternal calls:\n\t- _safeTransfer(_to,_asset,_amount) (../../contracts/controller.sol#187)\n\tEvent emitted after the call(s):\n\t- Claimed(_to,_asset,_amount) (../../contracts/controller.sol#188)\n", "markdown": "Reentrancy in [Controller.claim(address,address,uint256)](../../contracts/controller.sol#L186-L189):\n\tExternal calls:\n\t- [_safeTransfer(_to,_asset,_amount)](../../contracts/controller.sol#L187)\n\tEvent emitted after the call(s):\n\t- [Claimed(_to,_asset,_amount)](../../contracts/controller.sol#L188)\n", "id": "ce3e7f890cf7bca36bbe00a4feab6c3793439951e10b882b9c576ec85c6b47d8", "check": "reentrancy-events", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "claim", "source_mapping": {"start": 9459, "length": 184, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.sol", "is_dependency": false, "lines": [226, 227, 228, 229], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Licence", "source_mapping": {"start": 1380, "length": 8966, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.sol", "is_dependency": false, "lines": [38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250], "starting_column": 1, "ending_column": 2}}, "signature": "claim(address,address,uint256)"}}, {"type": "node", "name": "_safeTransfer(_to,_asset,_amount)", "source_mapping": {"start": 9557, "length": 35, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.sol", "is_dependency": false, "lines": [227], "starting_column": 9, "ending_column": 44}, "type_specific_fields": {"parent": {"type": "function", "name": "claim", "source_mapping": {"start": 9459, "length": 184, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.sol", "is_dependency": false, "lines": [226, 227, 228, 229], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Licence", "source_mapping": {"start": 1380, "length": 8966, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.sol", "is_dependency": false, "lines": [38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250], "starting_column": 1, "ending_column": 2}}, "signature": "claim(address,address,uint256)"}}}, "additional_fields": {"underlying_type": "external_calls"}}], "description": "Reentrancy in Licence.claim(address,address,uint256) (../../contracts/licence.sol#226-229):\n\tExternal calls:\n\t- _safeTransfer(_to,_asset,_amount) (../../contracts/licence.sol#227)\n\tEvent emitted after the call(s):\n\t- Claimed(_to,_asset,_amount) (../../contracts/licence.sol#228)\n", "markdown": "Reentrancy in [Licence.claim(address,address,uint256)](../../contracts/licence.sol#L226-L229):\n\tExternal calls:\n\t- [_safeTransfer(_to,_asset,_amount)](../../contracts/licence.sol#L227)\n\tEvent emitted after the call(s):\n\t- [Claimed(_to,_asset,_amount)](../../contracts/licence.sol#L228)\n", "id": "fdf2fa6addf7bef04edc254acc324db73f2332629d733ef61923875a75322877", "check": "reentrancy-events", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "load", "source_mapping": {"start": 8283, "length": 1087, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.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": "Licence", "source_mapping": {"start": 1380, "length": 8966, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.sol", "is_dependency": false, "lines": [38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250], "starting_column": 1, "ending_column": 2}}, "signature": "load(address,uint256)"}}, {"type": "node", "name": "ERC20(_asset).safeTransferFrom(msg.sender,_tokenHolder,licenceAmount)", "source_mapping": {"start": 8795, "length": 71, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.sol", "is_dependency": false, "lines": [211], "starting_column": 17, "ending_column": 88}, "type_specific_fields": {"parent": {"type": "function", "name": "load", "source_mapping": {"start": 8283, "length": 1087, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.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": "Licence", "source_mapping": {"start": 1380, "length": 8966, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.sol", "is_dependency": false, "lines": [38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250], "starting_column": 1, "ending_column": 2}}, "signature": "load(address,uint256)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "ERC20(_asset).safeTransferFrom(msg.sender,_cryptoFloat,loadAmount)", "source_mapping": {"start": 8884, "length": 68, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.sol", "is_dependency": false, "lines": [212], "starting_column": 17, "ending_column": 85}, "type_specific_fields": {"parent": {"type": "function", "name": "load", "source_mapping": {"start": 8283, "length": 1087, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.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": "Licence", "source_mapping": {"start": 1380, "length": 8966, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.sol", "is_dependency": false, "lines": [38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250], "starting_column": 1, "ending_column": 2}}, "signature": "load(address,uint256)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "_tokenHolder.transfer(licenceAmount)", "source_mapping": {"start": 9073, "length": 36, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.sol", "is_dependency": false, "lines": [215], "starting_column": 17, "ending_column": 53}, "type_specific_fields": {"parent": {"type": "function", "name": "load", "source_mapping": {"start": 8283, "length": 1087, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.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": "Licence", "source_mapping": {"start": 1380, "length": 8966, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.sol", "is_dependency": false, "lines": [38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250], "starting_column": 1, "ending_column": 2}}, "signature": "load(address,uint256)"}}}, "additional_fields": {"underlying_type": "external_calls_sending_eth"}}, {"type": "node", "name": "_cryptoFloat.transfer(loadAmount)", "source_mapping": {"start": 9127, "length": 33, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.sol", "is_dependency": false, "lines": [216], "starting_column": 17, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "function", "name": "load", "source_mapping": {"start": 8283, "length": 1087, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.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": "Licence", "source_mapping": {"start": 1380, "length": 8966, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.sol", "is_dependency": false, "lines": [38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250], "starting_column": 1, "ending_column": 2}}, "signature": "load(address,uint256)"}}}, "additional_fields": {"underlying_type": "external_calls_sending_eth"}}], "description": "Reentrancy in Licence.load(address,uint256) (../../contracts/licence.sol#201-223):\n\tExternal calls:\n\t- ERC20(_asset).safeTransferFrom(msg.sender,_tokenHolder,licenceAmount) (../../contracts/licence.sol#211)\n\t- ERC20(_asset).safeTransferFrom(msg.sender,_cryptoFloat,loadAmount) (../../contracts/licence.sol#212)\n\tExternal calls sending eth:\n\t- _tokenHolder.transfer(licenceAmount) (../../contracts/licence.sol#215)\n\t- _cryptoFloat.transfer(loadAmount) (../../contracts/licence.sol#216)\n\tEvent emitted after the call(s):\n\t- TransferredToTokenHolder(msg.sender,_tokenHolder,_asset,licenceAmount) (../../contracts/licence.sol#219)\n", "markdown": "Reentrancy in [Licence.load(address,uint256)](../../contracts/licence.sol#L201-L223):\n\tExternal calls:\n\t- [ERC20(_asset).safeTransferFrom(msg.sender,_tokenHolder,licenceAmount)](../../contracts/licence.sol#L211)\n\t- [ERC20(_asset).safeTransferFrom(msg.sender,_cryptoFloat,loadAmount)](../../contracts/licence.sol#L212)\n\tExternal calls sending eth:\n\t- [_tokenHolder.transfer(licenceAmount)](../../contracts/licence.sol#L215)\n\t- [_cryptoFloat.transfer(loadAmount)](../../contracts/licence.sol#L216)\n\tEvent emitted after the call(s):\n\t- [TransferredToTokenHolder(msg.sender,_tokenHolder,_asset,licenceAmount)](../../contracts/licence.sol#L219)\n", "id": "28ebff565ba397e67049a43ee60fda046211b31c5ab61b7ccbe89ddf6bbc5224", "check": "reentrancy-events", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "load", "source_mapping": {"start": 8283, "length": 1087, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.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": "Licence", "source_mapping": {"start": 1380, "length": 8966, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.sol", "is_dependency": false, "lines": [38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250], "starting_column": 1, "ending_column": 2}}, "signature": "load(address,uint256)"}}, {"type": "node", "name": "ERC20(_asset).safeTransferFrom(msg.sender,_cryptoFloat,loadAmount)", "source_mapping": {"start": 8489, "length": 68, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.sol", "is_dependency": false, "lines": [205], "starting_column": 13, "ending_column": 81}, "type_specific_fields": {"parent": {"type": "function", "name": "load", "source_mapping": {"start": 8283, "length": 1087, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.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": "Licence", "source_mapping": {"start": 1380, "length": 8966, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.sol", "is_dependency": false, "lines": [38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250], "starting_column": 1, "ending_column": 2}}, "signature": "load(address,uint256)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "ERC20(_asset).safeTransferFrom(msg.sender,_tokenHolder,licenceAmount)", "source_mapping": {"start": 8795, "length": 71, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.sol", "is_dependency": false, "lines": [211], "starting_column": 17, "ending_column": 88}, "type_specific_fields": {"parent": {"type": "function", "name": "load", "source_mapping": {"start": 8283, "length": 1087, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.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": "Licence", "source_mapping": {"start": 1380, "length": 8966, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.sol", "is_dependency": false, "lines": [38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250], "starting_column": 1, "ending_column": 2}}, "signature": "load(address,uint256)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "ERC20(_asset).safeTransferFrom(msg.sender,_cryptoFloat,loadAmount)", "source_mapping": {"start": 8884, "length": 68, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.sol", "is_dependency": false, "lines": [212], "starting_column": 17, "ending_column": 85}, "type_specific_fields": {"parent": {"type": "function", "name": "load", "source_mapping": {"start": 8283, "length": 1087, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.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": "Licence", "source_mapping": {"start": 1380, "length": 8966, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.sol", "is_dependency": false, "lines": [38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250], "starting_column": 1, "ending_column": 2}}, "signature": "load(address,uint256)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "_tokenHolder.transfer(licenceAmount)", "source_mapping": {"start": 9073, "length": 36, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.sol", "is_dependency": false, "lines": [215], "starting_column": 17, "ending_column": 53}, "type_specific_fields": {"parent": {"type": "function", "name": "load", "source_mapping": {"start": 8283, "length": 1087, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.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": "Licence", "source_mapping": {"start": 1380, "length": 8966, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.sol", "is_dependency": false, "lines": [38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250], "starting_column": 1, "ending_column": 2}}, "signature": "load(address,uint256)"}}}, "additional_fields": {"underlying_type": "external_calls_sending_eth"}}, {"type": "node", "name": "_cryptoFloat.transfer(loadAmount)", "source_mapping": {"start": 9127, "length": 33, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.sol", "is_dependency": false, "lines": [216], "starting_column": 17, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "function", "name": "load", "source_mapping": {"start": 8283, "length": 1087, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.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": "Licence", "source_mapping": {"start": 1380, "length": 8966, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.sol", "is_dependency": false, "lines": [38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250], "starting_column": 1, "ending_column": 2}}, "signature": "load(address,uint256)"}}}, "additional_fields": {"underlying_type": "external_calls_sending_eth"}}], "description": "Reentrancy in Licence.load(address,uint256) (../../contracts/licence.sol#201-223):\n\tExternal calls:\n\t- ERC20(_asset).safeTransferFrom(msg.sender,_cryptoFloat,loadAmount) (../../contracts/licence.sol#205)\n\t- ERC20(_asset).safeTransferFrom(msg.sender,_tokenHolder,licenceAmount) (../../contracts/licence.sol#211)\n\t- ERC20(_asset).safeTransferFrom(msg.sender,_cryptoFloat,loadAmount) (../../contracts/licence.sol#212)\n\tExternal calls sending eth:\n\t- _tokenHolder.transfer(licenceAmount) (../../contracts/licence.sol#215)\n\t- _cryptoFloat.transfer(loadAmount) (../../contracts/licence.sol#216)\n\tEvent emitted after the call(s):\n\t- TransferredToCryptoFloat(msg.sender,_cryptoFloat,_asset,loadAmount) (../../contracts/licence.sol#222)\n", "markdown": "Reentrancy in [Licence.load(address,uint256)](../../contracts/licence.sol#L201-L223):\n\tExternal calls:\n\t- [ERC20(_asset).safeTransferFrom(msg.sender,_cryptoFloat,loadAmount)](../../contracts/licence.sol#L205)\n\t- [ERC20(_asset).safeTransferFrom(msg.sender,_tokenHolder,licenceAmount)](../../contracts/licence.sol#L211)\n\t- [ERC20(_asset).safeTransferFrom(msg.sender,_cryptoFloat,loadAmount)](../../contracts/licence.sol#L212)\n\tExternal calls sending eth:\n\t- [_tokenHolder.transfer(licenceAmount)](../../contracts/licence.sol#L215)\n\t- [_cryptoFloat.transfer(loadAmount)](../../contracts/licence.sol#L216)\n\tEvent emitted after the call(s):\n\t- [TransferredToCryptoFloat(msg.sender,_cryptoFloat,_asset,loadAmount)](../../contracts/licence.sol#L222)\n", "id": "8e611627c7652f109a6f7e6ff68b283f6b4f2cc70302d7daadca9664108f8cef", "check": "reentrancy-events", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "load", "source_mapping": {"start": 8283, "length": 1087, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.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": "Licence", "source_mapping": {"start": 1380, "length": 8966, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.sol", "is_dependency": false, "lines": [38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250], "starting_column": 1, "ending_column": 2}}, "signature": "load(address,uint256)"}}, {"type": "node", "name": "_tokenHolder.transfer(licenceAmount)", "source_mapping": {"start": 9073, "length": 36, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.sol", "is_dependency": false, "lines": [215], "starting_column": 17, "ending_column": 53}, "type_specific_fields": {"parent": {"type": "function", "name": "load", "source_mapping": {"start": 8283, "length": 1087, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.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": "Licence", "source_mapping": {"start": 1380, "length": 8966, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.sol", "is_dependency": false, "lines": [38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250], "starting_column": 1, "ending_column": 2}}, "signature": "load(address,uint256)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "_cryptoFloat.transfer(loadAmount)", "source_mapping": {"start": 9127, "length": 33, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.sol", "is_dependency": false, "lines": [216], "starting_column": 17, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "function", "name": "load", "source_mapping": {"start": 8283, "length": 1087, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.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": "Licence", "source_mapping": {"start": 1380, "length": 8966, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.sol", "is_dependency": false, "lines": [38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250], "starting_column": 1, "ending_column": 2}}, "signature": "load(address,uint256)"}}}, "additional_fields": {"underlying_type": "external_calls"}}], "description": "Reentrancy in Licence.load(address,uint256) (../../contracts/licence.sol#201-223):\n\tExternal calls:\n\t- _tokenHolder.transfer(licenceAmount) (../../contracts/licence.sol#215)\n\t- _cryptoFloat.transfer(loadAmount) (../../contracts/licence.sol#216)\n\tEvent emitted after the call(s):\n\t- TransferredToTokenHolder(msg.sender,_tokenHolder,_asset,licenceAmount) (../../contracts/licence.sol#219)\n\t- TransferredToCryptoFloat(msg.sender,_cryptoFloat,_asset,loadAmount) (../../contracts/licence.sol#222)\n", "markdown": "Reentrancy in [Licence.load(address,uint256)](../../contracts/licence.sol#L201-L223):\n\tExternal calls:\n\t- [_tokenHolder.transfer(licenceAmount)](../../contracts/licence.sol#L215)\n\t- [_cryptoFloat.transfer(loadAmount)](../../contracts/licence.sol#L216)\n\tEvent emitted after the call(s):\n\t- [TransferredToTokenHolder(msg.sender,_tokenHolder,_asset,licenceAmount)](../../contracts/licence.sol#L219)\n\t- [TransferredToCryptoFloat(msg.sender,_cryptoFloat,_asset,loadAmount)](../../contracts/licence.sol#L222)\n", "id": "a30148aae0f13c5bced5d249c6284bb19c3ef27d698547440c3a3058773e258b", "check": "reentrancy-unlimited-gas", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "controllerNode", "source_mapping": {"start": 1778, "length": 95, "filename_used": "/contracts/tools/slither/../../contracts/internals/controllable.sol", "filename_relative": "../../contracts/internals/controllable.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/internals/controllable.sol", "filename_short": "../../contracts/internals/controllable.sol", "is_dependency": false, "lines": [48, 49, 50], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Controllable", "source_mapping": {"start": 995, "length": 1770, "filename_used": "/contracts/tools/slither/../../contracts/internals/controllable.sol", "filename_relative": "../../contracts/internals/controllable.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/internals/controllable.sol", "filename_short": "../../contracts/internals/controllable.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], "starting_column": 1, "ending_column": 2}}, "signature": "controllerNode()"}}], "description": "controllerNode() should be declared external:\n\t- Controllable.controllerNode() (../../contracts/internals/controllable.sol#48-50)\n", "markdown": "controllerNode() should be declared external:\n\t- [Controllable.controllerNode()](../../contracts/internals/controllable.sol#L48-L50)\n", "id": "d13a5d67fbaa6821edc17da5f446b38ce126b2b8abcbc3c21b79428186db1d29", "check": "external-function", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "function", "name": "owner", "source_mapping": {"start": 3508, "length": 85, "filename_used": "/contracts/tools/slither/../../contracts/internals/ownable.sol", "filename_relative": "../../contracts/internals/ownable.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/internals/ownable.sol", "filename_short": "../../contracts/internals/ownable.sol", "is_dependency": false, "lines": [81, 82, 83], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Ownable", "source_mapping": {"start": 1190, "length": 3110, "filename_used": "/contracts/tools/slither/../../contracts/internals/ownable.sol", "filename_relative": "../../contracts/internals/ownable.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/internals/ownable.sol", "filename_short": "../../contracts/internals/ownable.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101], "starting_column": 1, "ending_column": 2}}, "signature": "owner()"}}], "description": "owner() should be declared external:\n\t- Ownable.owner() (../../contracts/internals/ownable.sol#81-83)\n", "markdown": "owner() should be declared external:\n\t- [Ownable.owner()](../../contracts/internals/ownable.sol#L81-L83)\n", "id": "698811821ed34357d834c197b976565a1354eaff150bcbc8a352f2d8c7df57f3", "check": "external-function", "impact": "Optimization", "confidence": "High"}] \ No newline at end of file +[{"elements": [{"type": "function", "name": "walletCachePop", "source_mapping": {"start": 3838, "length": 292, "filename_used": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_relative": "../../contracts/walletCache.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_short": "../../contracts/walletCache.sol", "is_dependency": false, "lines": [98, 99, 100, 101, 102, 103, 104, 105, 106, 107], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "WalletCache", "source_mapping": {"start": 1219, "length": 3615, "filename_used": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_relative": "../../contracts/walletCache.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_short": "../../contracts/walletCache.sol", "is_dependency": false, "lines": [34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 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}}, "signature": "walletCachePop()"}}, {"type": "node", "name": "cacheWallet()", "source_mapping": {"start": 3972, "length": 13, "filename_used": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_relative": "../../contracts/walletCache.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_short": "../../contracts/walletCache.sol", "is_dependency": false, "lines": [100], "starting_column": 13, "ending_column": 26}, "type_specific_fields": {"parent": {"type": "function", "name": "walletCachePop", "source_mapping": {"start": 3838, "length": 292, "filename_used": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_relative": "../../contracts/walletCache.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_short": "../../contracts/walletCache.sol", "is_dependency": false, "lines": [98, 99, 100, 101, 102, 103, 104, 105, 106, 107], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "WalletCache", "source_mapping": {"start": 1219, "length": 3615, "filename_used": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_relative": "../../contracts/walletCache.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_short": "../../contracts/walletCache.sol", "is_dependency": false, "lines": [34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 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}}, "signature": "walletCachePop()"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "cachedWallets.pop()", "source_mapping": {"start": 4080, "length": 19, "filename_used": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_relative": "../../contracts/walletCache.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_short": "../../contracts/walletCache.sol", "is_dependency": false, "lines": [104], "starting_column": 9, "ending_column": 28}, "type_specific_fields": {"parent": {"type": "function", "name": "walletCachePop", "source_mapping": {"start": 3838, "length": 292, "filename_used": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_relative": "../../contracts/walletCache.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_short": "../../contracts/walletCache.sol", "is_dependency": false, "lines": [98, 99, 100, 101, 102, 103, 104, 105, 106, 107], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "WalletCache", "source_mapping": {"start": 1219, "length": 3615, "filename_used": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_relative": "../../contracts/walletCache.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_short": "../../contracts/walletCache.sol", "is_dependency": false, "lines": [34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 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}}, "signature": "walletCachePop()"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "cachedWallets"}}], "description": "Reentrancy in WalletCache.walletCachePop() (../../contracts/walletCache.sol#98-107):\n\tExternal calls:\n\t- cacheWallet() (../../contracts/walletCache.sol#100)\n\tState variables written after the call(s):\n\t- WalletCache.cachedWallets (../../contracts/walletCache.sol#54) in cachedWallets.pop() (../../contracts/walletCache.sol#104)\n", "markdown": "Reentrancy in [WalletCache.walletCachePop()](../../contracts/walletCache.sol#L98-L107):\n\tExternal calls:\n\t- [cacheWallet()](../../contracts/walletCache.sol#L100)\n\tState variables written after the call(s):\n\t- [WalletCache.cachedWallets](../../contracts/walletCache.sol#L54) in [cachedWallets.pop()](../../contracts/walletCache.sol#L104)\n", "id": "9c7be75147448dbb8ff35016b74de4d723373008b40b58dde79f10ca95d518ef", "check": "reentrancy-no-eth", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "cacheWallet", "source_mapping": {"start": 4206, "length": 626, "filename_used": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_relative": "../../contracts/walletCache.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_short": "../../contracts/walletCache.sol", "is_dependency": false, "lines": [110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "WalletCache", "source_mapping": {"start": 1219, "length": 3615, "filename_used": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_relative": "../../contracts/walletCache.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_short": "../../contracts/walletCache.sol", "is_dependency": false, "lines": [34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 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}}, "signature": "cacheWallet()"}}, {"type": "node", "name": "wallet = address(new UpgradeabilityProxy(walletImplementation,))", "source_mapping": {"start": 4319, "length": 83, "filename_used": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_relative": "../../contracts/walletCache.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_short": "../../contracts/walletCache.sol", "is_dependency": false, "lines": [112], "starting_column": 9, "ending_column": 92}, "type_specific_fields": {"parent": {"type": "function", "name": "cacheWallet", "source_mapping": {"start": 4206, "length": 626, "filename_used": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_relative": "../../contracts/walletCache.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_short": "../../contracts/walletCache.sol", "is_dependency": false, "lines": [110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "WalletCache", "source_mapping": {"start": 1219, "length": 3615, "filename_used": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_relative": "../../contracts/walletCache.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_short": "../../contracts/walletCache.sol", "is_dependency": false, "lines": [34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 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}}, "signature": "cacheWallet()"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "Wallet(wallet).initializeWallet(address(uint160(walletDeployerAddress)),true,ens,tokenWhitelistNode,controllerNode(),licenceNode,defaultSpendLimit)", "source_mapping": {"start": 4412, "length": 341, "filename_used": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_relative": "../../contracts/walletCache.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_short": "../../contracts/walletCache.sol", "is_dependency": false, "lines": [113, 114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "cacheWallet", "source_mapping": {"start": 4206, "length": 626, "filename_used": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_relative": "../../contracts/walletCache.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_short": "../../contracts/walletCache.sol", "is_dependency": false, "lines": [110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "WalletCache", "source_mapping": {"start": 1219, "length": 3615, "filename_used": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_relative": "../../contracts/walletCache.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_short": "../../contracts/walletCache.sol", "is_dependency": false, "lines": [34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 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}}, "signature": "cacheWallet()"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "cachedWallets.push(wallet)", "source_mapping": {"start": 4763, "length": 26, "filename_used": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_relative": "../../contracts/walletCache.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_short": "../../contracts/walletCache.sol", "is_dependency": false, "lines": [122], "starting_column": 9, "ending_column": 35}, "type_specific_fields": {"parent": {"type": "function", "name": "cacheWallet", "source_mapping": {"start": 4206, "length": 626, "filename_used": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_relative": "../../contracts/walletCache.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_short": "../../contracts/walletCache.sol", "is_dependency": false, "lines": [110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "WalletCache", "source_mapping": {"start": 1219, "length": 3615, "filename_used": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_relative": "../../contracts/walletCache.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_short": "../../contracts/walletCache.sol", "is_dependency": false, "lines": [34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 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}}, "signature": "cacheWallet()"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "cachedWallets"}}], "description": "Reentrancy in WalletCache.cacheWallet() (../../contracts/walletCache.sol#110-125):\n\tExternal calls:\n\t- wallet = address(new UpgradeabilityProxy(walletImplementation,)) (../../contracts/walletCache.sol#112)\n\t- Wallet(wallet).initializeWallet(address(uint160(walletDeployerAddress)),true,ens,tokenWhitelistNode,controllerNode(),licenceNode,defaultSpendLimit) (../../contracts/walletCache.sol#113-121)\n\tState variables written after the call(s):\n\t- WalletCache.cachedWallets (../../contracts/walletCache.sol#54) in cachedWallets.push(wallet) (../../contracts/walletCache.sol#122)\n", "markdown": "Reentrancy in [WalletCache.cacheWallet()](../../contracts/walletCache.sol#L110-L125):\n\tExternal calls:\n\t- [wallet = address(new UpgradeabilityProxy(walletImplementation,))](../../contracts/walletCache.sol#L112)\n\t- [Wallet(wallet).initializeWallet(address(uint160(walletDeployerAddress)),true,ens,tokenWhitelistNode,controllerNode(),licenceNode,defaultSpendLimit)](../../contracts/walletCache.sol#L113-L121)\n\tState variables written after the call(s):\n\t- [WalletCache.cachedWallets](../../contracts/walletCache.sol#L54) in [cachedWallets.push(wallet)](../../contracts/walletCache.sol#L122)\n", "id": "6cf52a800fc4bfc6a33370f09629daea34bf2d99ffb1860e952981e0ae4c8e89", "check": "reentrancy-benign", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "cacheWallet", "source_mapping": {"start": 4206, "length": 626, "filename_used": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_relative": "../../contracts/walletCache.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_short": "../../contracts/walletCache.sol", "is_dependency": false, "lines": [110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "WalletCache", "source_mapping": {"start": 1219, "length": 3615, "filename_used": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_relative": "../../contracts/walletCache.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_short": "../../contracts/walletCache.sol", "is_dependency": false, "lines": [34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 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}}, "signature": "cacheWallet()"}}, {"type": "node", "name": "wallet = address(new UpgradeabilityProxy(walletImplementation,))", "source_mapping": {"start": 4319, "length": 83, "filename_used": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_relative": "../../contracts/walletCache.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_short": "../../contracts/walletCache.sol", "is_dependency": false, "lines": [112], "starting_column": 9, "ending_column": 92}, "type_specific_fields": {"parent": {"type": "function", "name": "cacheWallet", "source_mapping": {"start": 4206, "length": 626, "filename_used": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_relative": "../../contracts/walletCache.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_short": "../../contracts/walletCache.sol", "is_dependency": false, "lines": [110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "WalletCache", "source_mapping": {"start": 1219, "length": 3615, "filename_used": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_relative": "../../contracts/walletCache.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_short": "../../contracts/walletCache.sol", "is_dependency": false, "lines": [34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 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}}, "signature": "cacheWallet()"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "Wallet(wallet).initializeWallet(address(uint160(walletDeployerAddress)),true,ens,tokenWhitelistNode,controllerNode(),licenceNode,defaultSpendLimit)", "source_mapping": {"start": 4412, "length": 341, "filename_used": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_relative": "../../contracts/walletCache.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_short": "../../contracts/walletCache.sol", "is_dependency": false, "lines": [113, 114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "cacheWallet", "source_mapping": {"start": 4206, "length": 626, "filename_used": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_relative": "../../contracts/walletCache.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_short": "../../contracts/walletCache.sol", "is_dependency": false, "lines": [110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "WalletCache", "source_mapping": {"start": 1219, "length": 3615, "filename_used": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_relative": "../../contracts/walletCache.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_short": "../../contracts/walletCache.sol", "is_dependency": false, "lines": [34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 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}}, "signature": "cacheWallet()"}}}, "additional_fields": {"underlying_type": "external_calls"}}], "description": "Reentrancy in WalletCache.cacheWallet() (../../contracts/walletCache.sol#110-125):\n\tExternal calls:\n\t- wallet = address(new UpgradeabilityProxy(walletImplementation,)) (../../contracts/walletCache.sol#112)\n\t- Wallet(wallet).initializeWallet(address(uint160(walletDeployerAddress)),true,ens,tokenWhitelistNode,controllerNode(),licenceNode,defaultSpendLimit) (../../contracts/walletCache.sol#113-121)\n\tEvent emitted after the call(s):\n\t- CachedWallet(wallet) (../../contracts/walletCache.sol#124)\n", "markdown": "Reentrancy in [WalletCache.cacheWallet()](../../contracts/walletCache.sol#L110-L125):\n\tExternal calls:\n\t- [wallet = address(new UpgradeabilityProxy(walletImplementation,))](../../contracts/walletCache.sol#L112)\n\t- [Wallet(wallet).initializeWallet(address(uint160(walletDeployerAddress)),true,ens,tokenWhitelistNode,controllerNode(),licenceNode,defaultSpendLimit)](../../contracts/walletCache.sol#L113-L121)\n\tEvent emitted after the call(s):\n\t- [CachedWallet(wallet)](../../contracts/walletCache.sol#L124)\n", "id": "340e6fa5aa30eb289807c22a0368a1dceeea03796ec52fcbb5f81ecd185efa42", "check": "reentrancy-events", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "migrateWallet", "source_mapping": {"start": 2911, "length": 1524, "filename_used": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_relative": "../../contracts/walletDeployer.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_short": "../../contracts/walletDeployer.sol", "is_dependency": false, "lines": [67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 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": "WalletDeployer", "source_mapping": {"start": 963, "length": 3474, "filename_used": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_relative": "../../contracts/walletDeployer.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_short": "../../contracts/walletDeployer.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], "starting_column": 1, "ending_column": 2}}, "signature": "migrateWallet(address,address,bool,bool,bool,bool,uint256,uint256,uint256,address[])"}}, {"type": "node", "name": "wallet = IWalletCache(_ensResolve(walletCacheNode)).walletCachePop()", "source_mapping": {"start": 3505, "length": 84, "filename_used": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_relative": "../../contracts/walletDeployer.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_short": "../../contracts/walletDeployer.sol", "is_dependency": false, "lines": [82], "starting_column": 9, "ending_column": 93}, "type_specific_fields": {"parent": {"type": "function", "name": "migrateWallet", "source_mapping": {"start": 2911, "length": 1524, "filename_used": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_relative": "../../contracts/walletDeployer.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_short": "../../contracts/walletDeployer.sol", "is_dependency": false, "lines": [67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 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": "WalletDeployer", "source_mapping": {"start": 963, "length": 3474, "filename_used": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_relative": "../../contracts/walletDeployer.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_short": "../../contracts/walletDeployer.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], "starting_column": 1, "ending_column": 2}}, "signature": "migrateWallet(address,address,bool,bool,bool,bool,uint256,uint256,uint256,address[])"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "deployedWallets[_owner] = wallet", "source_mapping": {"start": 3668, "length": 32, "filename_used": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_relative": "../../contracts/walletDeployer.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_short": "../../contracts/walletDeployer.sol", "is_dependency": false, "lines": [85], "starting_column": 9, "ending_column": 41}, "type_specific_fields": {"parent": {"type": "function", "name": "migrateWallet", "source_mapping": {"start": 2911, "length": 1524, "filename_used": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_relative": "../../contracts/walletDeployer.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_short": "../../contracts/walletDeployer.sol", "is_dependency": false, "lines": [67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 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": "WalletDeployer", "source_mapping": {"start": 963, "length": 3474, "filename_used": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_relative": "../../contracts/walletDeployer.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_short": "../../contracts/walletDeployer.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], "starting_column": 1, "ending_column": 2}}, "signature": "migrateWallet(address,address,bool,bool,bool,bool,uint256,uint256,uint256,address[])"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "deployedWallets"}}], "description": "Reentrancy in WalletDeployer.migrateWallet(address,address,bool,bool,bool,bool,uint256,uint256,uint256,address[]) (../../contracts/walletDeployer.sol#67-107):\n\tExternal calls:\n\t- wallet = IWalletCache(_ensResolve(walletCacheNode)).walletCachePop() (../../contracts/walletDeployer.sol#82)\n\tState variables written after the call(s):\n\t- WalletDeployer.deployedWallets (../../contracts/walletDeployer.sol#37) in deployedWallets[_owner] = wallet (../../contracts/walletDeployer.sol#85)\n", "markdown": "Reentrancy in [WalletDeployer.migrateWallet(address,address,bool,bool,bool,bool,uint256,uint256,uint256,address[])](../../contracts/walletDeployer.sol#L67-L107):\n\tExternal calls:\n\t- [wallet = IWalletCache(_ensResolve(walletCacheNode)).walletCachePop()](../../contracts/walletDeployer.sol#L82)\n\tState variables written after the call(s):\n\t- [WalletDeployer.deployedWallets](../../contracts/walletDeployer.sol#L37) in [deployedWallets[_owner] = wallet](../../contracts/walletDeployer.sol#L85)\n", "id": "c9cc5c90886e5d43e0954b7aed44a9204cd59053d3e6ab4f4811d66b300047f9", "check": "reentrancy-no-eth", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "deployWallet", "source_mapping": {"start": 2094, "length": 409, "filename_used": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_relative": "../../contracts/walletDeployer.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_short": "../../contracts/walletDeployer.sol", "is_dependency": false, "lines": [52, 53, 54, 55, 56, 57, 58, 59, 60], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "WalletDeployer", "source_mapping": {"start": 963, "length": 3474, "filename_used": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_relative": "../../contracts/walletDeployer.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_short": "../../contracts/walletDeployer.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], "starting_column": 1, "ending_column": 2}}, "signature": "deployWallet(address)"}}, {"type": "node", "name": "wallet = IWalletCache(_ensResolve(walletCacheNode)).walletCachePop()", "source_mapping": {"start": 2174, "length": 84, "filename_used": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_relative": "../../contracts/walletDeployer.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_short": "../../contracts/walletDeployer.sol", "is_dependency": false, "lines": [53], "starting_column": 9, "ending_column": 93}, "type_specific_fields": {"parent": {"type": "function", "name": "deployWallet", "source_mapping": {"start": 2094, "length": 409, "filename_used": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_relative": "../../contracts/walletDeployer.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_short": "../../contracts/walletDeployer.sol", "is_dependency": false, "lines": [52, 53, 54, 55, 56, 57, 58, 59, 60], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "WalletDeployer", "source_mapping": {"start": 963, "length": 3474, "filename_used": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_relative": "../../contracts/walletDeployer.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_short": "../../contracts/walletDeployer.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], "starting_column": 1, "ending_column": 2}}, "signature": "deployWallet(address)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "deployedWallets[_owner] = wallet", "source_mapping": {"start": 2314, "length": 32, "filename_used": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_relative": "../../contracts/walletDeployer.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_short": "../../contracts/walletDeployer.sol", "is_dependency": false, "lines": [56], "starting_column": 9, "ending_column": 41}, "type_specific_fields": {"parent": {"type": "function", "name": "deployWallet", "source_mapping": {"start": 2094, "length": 409, "filename_used": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_relative": "../../contracts/walletDeployer.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_short": "../../contracts/walletDeployer.sol", "is_dependency": false, "lines": [52, 53, 54, 55, 56, 57, 58, 59, 60], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "WalletDeployer", "source_mapping": {"start": 963, "length": 3474, "filename_used": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_relative": "../../contracts/walletDeployer.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_short": "../../contracts/walletDeployer.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], "starting_column": 1, "ending_column": 2}}, "signature": "deployWallet(address)"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "deployedWallets"}}], "description": "Reentrancy in WalletDeployer.deployWallet(address) (../../contracts/walletDeployer.sol#52-60):\n\tExternal calls:\n\t- wallet = IWalletCache(_ensResolve(walletCacheNode)).walletCachePop() (../../contracts/walletDeployer.sol#53)\n\tState variables written after the call(s):\n\t- WalletDeployer.deployedWallets (../../contracts/walletDeployer.sol#37) in deployedWallets[_owner] = wallet (../../contracts/walletDeployer.sol#56)\n", "markdown": "Reentrancy in [WalletDeployer.deployWallet(address)](../../contracts/walletDeployer.sol#L52-L60):\n\tExternal calls:\n\t- [wallet = IWalletCache(_ensResolve(walletCacheNode)).walletCachePop()](../../contracts/walletDeployer.sol#L53)\n\tState variables written after the call(s):\n\t- [WalletDeployer.deployedWallets](../../contracts/walletDeployer.sol#L37) in [deployedWallets[_owner] = wallet](../../contracts/walletDeployer.sol#L56)\n", "id": "51e7b14ee9e777e7d9aceb503d7e4fb463d228f819cdb01de7243c0e900bd1d1", "check": "reentrancy-benign", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "deployWallet", "source_mapping": {"start": 2094, "length": 409, "filename_used": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_relative": "../../contracts/walletDeployer.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_short": "../../contracts/walletDeployer.sol", "is_dependency": false, "lines": [52, 53, 54, 55, 56, 57, 58, 59, 60], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "WalletDeployer", "source_mapping": {"start": 963, "length": 3474, "filename_used": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_relative": "../../contracts/walletDeployer.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_short": "../../contracts/walletDeployer.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], "starting_column": 1, "ending_column": 2}}, "signature": "deployWallet(address)"}}, {"type": "node", "name": "wallet = IWalletCache(_ensResolve(walletCacheNode)).walletCachePop()", "source_mapping": {"start": 2174, "length": 84, "filename_used": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_relative": "../../contracts/walletDeployer.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_short": "../../contracts/walletDeployer.sol", "is_dependency": false, "lines": [53], "starting_column": 9, "ending_column": 93}, "type_specific_fields": {"parent": {"type": "function", "name": "deployWallet", "source_mapping": {"start": 2094, "length": 409, "filename_used": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_relative": "../../contracts/walletDeployer.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_short": "../../contracts/walletDeployer.sol", "is_dependency": false, "lines": [52, 53, 54, 55, 56, 57, 58, 59, 60], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "WalletDeployer", "source_mapping": {"start": 963, "length": 3474, "filename_used": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_relative": "../../contracts/walletDeployer.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_short": "../../contracts/walletDeployer.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], "starting_column": 1, "ending_column": 2}}, "signature": "deployWallet(address)"}}}, "additional_fields": {"underlying_type": "external_calls"}}], "description": "Reentrancy in WalletDeployer.deployWallet(address) (../../contracts/walletDeployer.sol#52-60):\n\tExternal calls:\n\t- wallet = IWalletCache(_ensResolve(walletCacheNode)).walletCachePop() (../../contracts/walletDeployer.sol#53)\n\tEvent emitted after the call(s):\n\t- DeployedWallet(wallet,_owner) (../../contracts/walletDeployer.sol#54)\n", "markdown": "Reentrancy in [WalletDeployer.deployWallet(address)](../../contracts/walletDeployer.sol#L52-L60):\n\tExternal calls:\n\t- [wallet = IWalletCache(_ensResolve(walletCacheNode)).walletCachePop()](../../contracts/walletDeployer.sol#L53)\n\tEvent emitted after the call(s):\n\t- [DeployedWallet(wallet,_owner)](../../contracts/walletDeployer.sol#L54)\n", "id": "1f2a19c730b57366cf03fa55fac9a4a4507666d304922ee6908d90b860910bc7", "check": "reentrancy-events", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "migrateWallet", "source_mapping": {"start": 2911, "length": 1524, "filename_used": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_relative": "../../contracts/walletDeployer.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_short": "../../contracts/walletDeployer.sol", "is_dependency": false, "lines": [67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 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": "WalletDeployer", "source_mapping": {"start": 963, "length": 3474, "filename_used": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_relative": "../../contracts/walletDeployer.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_short": "../../contracts/walletDeployer.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], "starting_column": 1, "ending_column": 2}}, "signature": "migrateWallet(address,address,bool,bool,bool,bool,uint256,uint256,uint256,address[])"}}, {"type": "node", "name": "wallet = IWalletCache(_ensResolve(walletCacheNode)).walletCachePop()", "source_mapping": {"start": 3505, "length": 84, "filename_used": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_relative": "../../contracts/walletDeployer.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_short": "../../contracts/walletDeployer.sol", "is_dependency": false, "lines": [82], "starting_column": 9, "ending_column": 93}, "type_specific_fields": {"parent": {"type": "function", "name": "migrateWallet", "source_mapping": {"start": 2911, "length": 1524, "filename_used": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_relative": "../../contracts/walletDeployer.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_short": "../../contracts/walletDeployer.sol", "is_dependency": false, "lines": [67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 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": "WalletDeployer", "source_mapping": {"start": 963, "length": 3474, "filename_used": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_relative": "../../contracts/walletDeployer.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletDeployer.sol", "filename_short": "../../contracts/walletDeployer.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], "starting_column": 1, "ending_column": 2}}, "signature": "migrateWallet(address,address,bool,bool,bool,bool,uint256,uint256,uint256,address[])"}}}, "additional_fields": {"underlying_type": "external_calls"}}], "description": "Reentrancy in WalletDeployer.migrateWallet(address,address,bool,bool,bool,bool,uint256,uint256,uint256,address[]) (../../contracts/walletDeployer.sol#67-107):\n\tExternal calls:\n\t- wallet = IWalletCache(_ensResolve(walletCacheNode)).walletCachePop() (../../contracts/walletDeployer.sol#82)\n\tEvent emitted after the call(s):\n\t- MigratedWallet(wallet,_oldWallet,_owner,msg.value) (../../contracts/walletDeployer.sol#83)\n", "markdown": "Reentrancy in [WalletDeployer.migrateWallet(address,address,bool,bool,bool,bool,uint256,uint256,uint256,address[])](../../contracts/walletDeployer.sol#L67-L107):\n\tExternal calls:\n\t- [wallet = IWalletCache(_ensResolve(walletCacheNode)).walletCachePop()](../../contracts/walletDeployer.sol#L82)\n\tEvent emitted after the call(s):\n\t- [MigratedWallet(wallet,_oldWallet,_owner,msg.value)](../../contracts/walletDeployer.sol#L83)\n", "id": "27487f82407f9c471ccfad236aefd4fdee287f7e67460c6a09735532f3797e50", "check": "reentrancy-events", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "walletCachePop", "source_mapping": {"start": 4320, "length": 292, "filename_used": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_relative": "../../contracts/walletCache.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_short": "../../contracts/walletCache.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": "WalletCache", "source_mapping": {"start": 1219, "length": 4097, "filename_used": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_relative": "../../contracts/walletCache.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_short": "../../contracts/walletCache.sol", "is_dependency": false, "lines": [34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134], "starting_column": 1, "ending_column": 2}}, "signature": "walletCachePop()"}}, {"type": "node", "name": "cacheWallet()", "source_mapping": {"start": 4454, "length": 13, "filename_used": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_relative": "../../contracts/walletCache.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_short": "../../contracts/walletCache.sol", "is_dependency": false, "lines": [108], "starting_column": 13, "ending_column": 26}, "type_specific_fields": {"parent": {"type": "function", "name": "walletCachePop", "source_mapping": {"start": 4320, "length": 292, "filename_used": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_relative": "../../contracts/walletCache.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_short": "../../contracts/walletCache.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": "WalletCache", "source_mapping": {"start": 1219, "length": 4097, "filename_used": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_relative": "../../contracts/walletCache.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_short": "../../contracts/walletCache.sol", "is_dependency": false, "lines": [34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134], "starting_column": 1, "ending_column": 2}}, "signature": "walletCachePop()"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "cachedWallets.pop()", "source_mapping": {"start": 4562, "length": 19, "filename_used": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_relative": "../../contracts/walletCache.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_short": "../../contracts/walletCache.sol", "is_dependency": false, "lines": [112], "starting_column": 9, "ending_column": 28}, "type_specific_fields": {"parent": {"type": "function", "name": "walletCachePop", "source_mapping": {"start": 4320, "length": 292, "filename_used": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_relative": "../../contracts/walletCache.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_short": "../../contracts/walletCache.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": "WalletCache", "source_mapping": {"start": 1219, "length": 4097, "filename_used": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_relative": "../../contracts/walletCache.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_short": "../../contracts/walletCache.sol", "is_dependency": false, "lines": [34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134], "starting_column": 1, "ending_column": 2}}, "signature": "walletCachePop()"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "cachedWallets"}}], "description": "Reentrancy in WalletCache.walletCachePop() (../../contracts/walletCache.sol#106-115):\n\tExternal calls:\n\t- cacheWallet() (../../contracts/walletCache.sol#108)\n\tState variables written after the call(s):\n\t- WalletCache.cachedWallets (../../contracts/walletCache.sol#55) in cachedWallets.pop() (../../contracts/walletCache.sol#112)\n", "markdown": "Reentrancy in [WalletCache.walletCachePop()](../../contracts/walletCache.sol#L106-L115):\n\tExternal calls:\n\t- [cacheWallet()](../../contracts/walletCache.sol#L108)\n\tState variables written after the call(s):\n\t- [WalletCache.cachedWallets](../../contracts/walletCache.sol#L55) in [cachedWallets.pop()](../../contracts/walletCache.sol#L112)\n", "id": "fecd01393f63606141144b81e95841080ef9ec784c6a7665ac131c45668eafaf", "check": "reentrancy-no-eth", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "cacheWallet", "source_mapping": {"start": 4688, "length": 626, "filename_used": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_relative": "../../contracts/walletCache.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_short": "../../contracts/walletCache.sol", "is_dependency": false, "lines": [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": "WalletCache", "source_mapping": {"start": 1219, "length": 4097, "filename_used": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_relative": "../../contracts/walletCache.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_short": "../../contracts/walletCache.sol", "is_dependency": false, "lines": [34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134], "starting_column": 1, "ending_column": 2}}, "signature": "cacheWallet()"}}, {"type": "node", "name": "wallet = address(new UpgradeabilityProxy(walletImplementation,))", "source_mapping": {"start": 4801, "length": 83, "filename_used": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_relative": "../../contracts/walletCache.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_short": "../../contracts/walletCache.sol", "is_dependency": false, "lines": [120], "starting_column": 9, "ending_column": 92}, "type_specific_fields": {"parent": {"type": "function", "name": "cacheWallet", "source_mapping": {"start": 4688, "length": 626, "filename_used": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_relative": "../../contracts/walletCache.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_short": "../../contracts/walletCache.sol", "is_dependency": false, "lines": [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": "WalletCache", "source_mapping": {"start": 1219, "length": 4097, "filename_used": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_relative": "../../contracts/walletCache.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_short": "../../contracts/walletCache.sol", "is_dependency": false, "lines": [34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134], "starting_column": 1, "ending_column": 2}}, "signature": "cacheWallet()"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "Wallet(wallet).initializeWallet(address(uint160(walletDeployerAddress)),true,ens,tokenWhitelistNode,controllerNode(),licenceNode,defaultSpendLimit)", "source_mapping": {"start": 4894, "length": 341, "filename_used": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_relative": "../../contracts/walletCache.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_short": "../../contracts/walletCache.sol", "is_dependency": false, "lines": [121, 122, 123, 124, 125, 126, 127, 128, 129], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "cacheWallet", "source_mapping": {"start": 4688, "length": 626, "filename_used": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_relative": "../../contracts/walletCache.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_short": "../../contracts/walletCache.sol", "is_dependency": false, "lines": [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": "WalletCache", "source_mapping": {"start": 1219, "length": 4097, "filename_used": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_relative": "../../contracts/walletCache.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_short": "../../contracts/walletCache.sol", "is_dependency": false, "lines": [34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134], "starting_column": 1, "ending_column": 2}}, "signature": "cacheWallet()"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "cachedWallets.push(wallet)", "source_mapping": {"start": 5245, "length": 26, "filename_used": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_relative": "../../contracts/walletCache.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_short": "../../contracts/walletCache.sol", "is_dependency": false, "lines": [130], "starting_column": 9, "ending_column": 35}, "type_specific_fields": {"parent": {"type": "function", "name": "cacheWallet", "source_mapping": {"start": 4688, "length": 626, "filename_used": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_relative": "../../contracts/walletCache.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_short": "../../contracts/walletCache.sol", "is_dependency": false, "lines": [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": "WalletCache", "source_mapping": {"start": 1219, "length": 4097, "filename_used": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_relative": "../../contracts/walletCache.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_short": "../../contracts/walletCache.sol", "is_dependency": false, "lines": [34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134], "starting_column": 1, "ending_column": 2}}, "signature": "cacheWallet()"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "cachedWallets"}}], "description": "Reentrancy in WalletCache.cacheWallet() (../../contracts/walletCache.sol#118-133):\n\tExternal calls:\n\t- wallet = address(new UpgradeabilityProxy(walletImplementation,)) (../../contracts/walletCache.sol#120)\n\t- Wallet(wallet).initializeWallet(address(uint160(walletDeployerAddress)),true,ens,tokenWhitelistNode,controllerNode(),licenceNode,defaultSpendLimit) (../../contracts/walletCache.sol#121-129)\n\tState variables written after the call(s):\n\t- WalletCache.cachedWallets (../../contracts/walletCache.sol#55) in cachedWallets.push(wallet) (../../contracts/walletCache.sol#130)\n", "markdown": "Reentrancy in [WalletCache.cacheWallet()](../../contracts/walletCache.sol#L118-L133):\n\tExternal calls:\n\t- [wallet = address(new UpgradeabilityProxy(walletImplementation,))](../../contracts/walletCache.sol#L120)\n\t- [Wallet(wallet).initializeWallet(address(uint160(walletDeployerAddress)),true,ens,tokenWhitelistNode,controllerNode(),licenceNode,defaultSpendLimit)](../../contracts/walletCache.sol#L121-L129)\n\tState variables written after the call(s):\n\t- [WalletCache.cachedWallets](../../contracts/walletCache.sol#L55) in [cachedWallets.push(wallet)](../../contracts/walletCache.sol#L130)\n", "id": "d5f7b99dcb5b4e54edb987f0658898944bcccecbb530aec08382ac9885101ad4", "check": "reentrancy-benign", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "cacheWallet", "source_mapping": {"start": 4688, "length": 626, "filename_used": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_relative": "../../contracts/walletCache.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_short": "../../contracts/walletCache.sol", "is_dependency": false, "lines": [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": "WalletCache", "source_mapping": {"start": 1219, "length": 4097, "filename_used": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_relative": "../../contracts/walletCache.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_short": "../../contracts/walletCache.sol", "is_dependency": false, "lines": [34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134], "starting_column": 1, "ending_column": 2}}, "signature": "cacheWallet()"}}, {"type": "node", "name": "wallet = address(new UpgradeabilityProxy(walletImplementation,))", "source_mapping": {"start": 4801, "length": 83, "filename_used": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_relative": "../../contracts/walletCache.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_short": "../../contracts/walletCache.sol", "is_dependency": false, "lines": [120], "starting_column": 9, "ending_column": 92}, "type_specific_fields": {"parent": {"type": "function", "name": "cacheWallet", "source_mapping": {"start": 4688, "length": 626, "filename_used": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_relative": "../../contracts/walletCache.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_short": "../../contracts/walletCache.sol", "is_dependency": false, "lines": [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": "WalletCache", "source_mapping": {"start": 1219, "length": 4097, "filename_used": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_relative": "../../contracts/walletCache.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_short": "../../contracts/walletCache.sol", "is_dependency": false, "lines": [34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134], "starting_column": 1, "ending_column": 2}}, "signature": "cacheWallet()"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "Wallet(wallet).initializeWallet(address(uint160(walletDeployerAddress)),true,ens,tokenWhitelistNode,controllerNode(),licenceNode,defaultSpendLimit)", "source_mapping": {"start": 4894, "length": 341, "filename_used": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_relative": "../../contracts/walletCache.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_short": "../../contracts/walletCache.sol", "is_dependency": false, "lines": [121, 122, 123, 124, 125, 126, 127, 128, 129], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "cacheWallet", "source_mapping": {"start": 4688, "length": 626, "filename_used": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_relative": "../../contracts/walletCache.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_short": "../../contracts/walletCache.sol", "is_dependency": false, "lines": [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": "WalletCache", "source_mapping": {"start": 1219, "length": 4097, "filename_used": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_relative": "../../contracts/walletCache.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/walletCache.sol", "filename_short": "../../contracts/walletCache.sol", "is_dependency": false, "lines": [34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134], "starting_column": 1, "ending_column": 2}}, "signature": "cacheWallet()"}}}, "additional_fields": {"underlying_type": "external_calls"}}], "description": "Reentrancy in WalletCache.cacheWallet() (../../contracts/walletCache.sol#118-133):\n\tExternal calls:\n\t- wallet = address(new UpgradeabilityProxy(walletImplementation,)) (../../contracts/walletCache.sol#120)\n\t- Wallet(wallet).initializeWallet(address(uint160(walletDeployerAddress)),true,ens,tokenWhitelistNode,controllerNode(),licenceNode,defaultSpendLimit) (../../contracts/walletCache.sol#121-129)\n\tEvent emitted after the call(s):\n\t- CachedWallet(wallet) (../../contracts/walletCache.sol#132)\n", "markdown": "Reentrancy in [WalletCache.cacheWallet()](../../contracts/walletCache.sol#L118-L133):\n\tExternal calls:\n\t- [wallet = address(new UpgradeabilityProxy(walletImplementation,))](../../contracts/walletCache.sol#L120)\n\t- [Wallet(wallet).initializeWallet(address(uint160(walletDeployerAddress)),true,ens,tokenWhitelistNode,controllerNode(),licenceNode,defaultSpendLimit)](../../contracts/walletCache.sol#L121-L129)\n\tEvent emitted after the call(s):\n\t- [CachedWallet(wallet)](../../contracts/walletCache.sol#L132)\n", "id": "a07975382e172b7388b74354e94975e46685aa84b3c61e6a848891baf4310cf9", "check": "reentrancy-events", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_parseIntScientific", "source_mapping": {"start": 2338, "length": 6150, "filename_used": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_relative": "../../contracts/internals/parseIntScientific.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_short": "../../contracts/internals/parseIntScientific.sol", "is_dependency": false, "lines": [49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ParseIntScientific", "source_mapping": {"start": 951, "length": 7539, "filename_used": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_relative": "../../contracts/internals/parseIntScientific.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_short": "../../contracts/internals/parseIntScientific.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], "starting_column": 1, "ending_column": 2}}, "signature": "_parseIntScientific(string,uint256)"}}, {"type": "node", "name": "mint /= 10 ** (mintExp - _magnitudeMult)", "source_mapping": {"start": 6735, "length": 38, "filename_used": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_relative": "../../contracts/internals/parseIntScientific.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_short": "../../contracts/internals/parseIntScientific.sol", "is_dependency": false, "lines": [128], "starting_column": 17, "ending_column": 55}, "type_specific_fields": {"parent": {"type": "function", "name": "_parseIntScientific", "source_mapping": {"start": 2338, "length": 6150, "filename_used": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_relative": "../../contracts/internals/parseIntScientific.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_short": "../../contracts/internals/parseIntScientific.sol", "is_dependency": false, "lines": [49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ParseIntScientific", "source_mapping": {"start": 951, "length": 7539, "filename_used": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_relative": "../../contracts/internals/parseIntScientific.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_short": "../../contracts/internals/parseIntScientific.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], "starting_column": 1, "ending_column": 2}}, "signature": "_parseIntScientific(string,uint256)"}}}}, {"type": "node", "name": "mint = mint.mul(10 ** (decMinted))", "source_mapping": {"start": 7622, "length": 32, "filename_used": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_relative": "../../contracts/internals/parseIntScientific.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_short": "../../contracts/internals/parseIntScientific.sol", "is_dependency": false, "lines": [146], "starting_column": 13, "ending_column": 45}, "type_specific_fields": {"parent": {"type": "function", "name": "_parseIntScientific", "source_mapping": {"start": 2338, "length": 6150, "filename_used": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_relative": "../../contracts/internals/parseIntScientific.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_short": "../../contracts/internals/parseIntScientific.sol", "is_dependency": false, "lines": [49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ParseIntScientific", "source_mapping": {"start": 951, "length": 7539, "filename_used": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_relative": "../../contracts/internals/parseIntScientific.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_short": "../../contracts/internals/parseIntScientific.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], "starting_column": 1, "ending_column": 2}}, "signature": "_parseIntScientific(string,uint256)"}}}}], "description": "ParseIntScientific._parseIntScientific(string,uint256) (../../contracts/internals/parseIntScientific.sol#49-163) performs a multiplication on the result of a division:\n\t-mint /= 10 ** (mintExp - _magnitudeMult) (../../contracts/internals/parseIntScientific.sol#128)\n\t-mint = mint.mul(10 ** (decMinted)) (../../contracts/internals/parseIntScientific.sol#146)\n", "markdown": "[ParseIntScientific._parseIntScientific(string,uint256)](../../contracts/internals/parseIntScientific.sol#L49-L163) performs a multiplication on the result of a division:\n\t-[mint /= 10 ** (mintExp - _magnitudeMult)](../../contracts/internals/parseIntScientific.sol#L128)\n\t-[mint = mint.mul(10 ** (decMinted))](../../contracts/internals/parseIntScientific.sol#L146)\n", "id": "7f2a8a8833de43e4bde53359583557ee2e1dd2c6c047aa209df3b9574e4a0801", "check": "divide-before-multiply", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_parseIntScientific", "source_mapping": {"start": 2338, "length": 6150, "filename_used": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_relative": "../../contracts/internals/parseIntScientific.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_short": "../../contracts/internals/parseIntScientific.sol", "is_dependency": false, "lines": [49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ParseIntScientific", "source_mapping": {"start": 951, "length": 7539, "filename_used": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_relative": "../../contracts/internals/parseIntScientific.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_short": "../../contracts/internals/parseIntScientific.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], "starting_column": 1, "ending_column": 2}}, "signature": "_parseIntScientific(string,uint256)"}}, {"type": "node", "name": "mint /= 10 ** (mintExp - _magnitudeMult)", "source_mapping": {"start": 6735, "length": 38, "filename_used": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_relative": "../../contracts/internals/parseIntScientific.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_short": "../../contracts/internals/parseIntScientific.sol", "is_dependency": false, "lines": [128], "starting_column": 17, "ending_column": 55}, "type_specific_fields": {"parent": {"type": "function", "name": "_parseIntScientific", "source_mapping": {"start": 2338, "length": 6150, "filename_used": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_relative": "../../contracts/internals/parseIntScientific.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_short": "../../contracts/internals/parseIntScientific.sol", "is_dependency": false, "lines": [49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ParseIntScientific", "source_mapping": {"start": 951, "length": 7539, "filename_used": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_relative": "../../contracts/internals/parseIntScientific.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_short": "../../contracts/internals/parseIntScientific.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], "starting_column": 1, "ending_column": 2}}, "signature": "_parseIntScientific(string,uint256)"}}}}, {"type": "node", "name": "mint = mint.mul(10 ** (_magnitudeMult - decMinted))", "source_mapping": {"start": 7866, "length": 49, "filename_used": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_relative": "../../contracts/internals/parseIntScientific.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_short": "../../contracts/internals/parseIntScientific.sol", "is_dependency": false, "lines": [150], "starting_column": 13, "ending_column": 62}, "type_specific_fields": {"parent": {"type": "function", "name": "_parseIntScientific", "source_mapping": {"start": 2338, "length": 6150, "filename_used": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_relative": "../../contracts/internals/parseIntScientific.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_short": "../../contracts/internals/parseIntScientific.sol", "is_dependency": false, "lines": [49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ParseIntScientific", "source_mapping": {"start": 951, "length": 7539, "filename_used": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_relative": "../../contracts/internals/parseIntScientific.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_short": "../../contracts/internals/parseIntScientific.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], "starting_column": 1, "ending_column": 2}}, "signature": "_parseIntScientific(string,uint256)"}}}}], "description": "ParseIntScientific._parseIntScientific(string,uint256) (../../contracts/internals/parseIntScientific.sol#49-163) performs a multiplication on the result of a division:\n\t-mint /= 10 ** (mintExp - _magnitudeMult) (../../contracts/internals/parseIntScientific.sol#128)\n\t-mint = mint.mul(10 ** (_magnitudeMult - decMinted)) (../../contracts/internals/parseIntScientific.sol#150)\n", "markdown": "[ParseIntScientific._parseIntScientific(string,uint256)](../../contracts/internals/parseIntScientific.sol#L49-L163) performs a multiplication on the result of a division:\n\t-[mint /= 10 ** (mintExp - _magnitudeMult)](../../contracts/internals/parseIntScientific.sol#L128)\n\t-[mint = mint.mul(10 ** (_magnitudeMult - decMinted))](../../contracts/internals/parseIntScientific.sol#L150)\n", "id": "a82b7c9693de1c9605223cd9c9b544a7e3cafa00cc860a652f4702656c06516e", "check": "divide-before-multiply", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_parseIntScientific", "source_mapping": {"start": 2338, "length": 6150, "filename_used": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_relative": "../../contracts/internals/parseIntScientific.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_short": "../../contracts/internals/parseIntScientific.sol", "is_dependency": false, "lines": [49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ParseIntScientific", "source_mapping": {"start": 951, "length": 7539, "filename_used": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_relative": "../../contracts/internals/parseIntScientific.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_short": "../../contracts/internals/parseIntScientific.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], "starting_column": 1, "ending_column": 2}}, "signature": "_parseIntScientific(string,uint256)"}}, {"type": "node", "name": "mint /= 10 ** (mintExp - _magnitudeMult)", "source_mapping": {"start": 6735, "length": 38, "filename_used": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_relative": "../../contracts/internals/parseIntScientific.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_short": "../../contracts/internals/parseIntScientific.sol", "is_dependency": false, "lines": [128], "starting_column": 17, "ending_column": 55}, "type_specific_fields": {"parent": {"type": "function", "name": "_parseIntScientific", "source_mapping": {"start": 2338, "length": 6150, "filename_used": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_relative": "../../contracts/internals/parseIntScientific.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_short": "../../contracts/internals/parseIntScientific.sol", "is_dependency": false, "lines": [49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ParseIntScientific", "source_mapping": {"start": 951, "length": 7539, "filename_used": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_relative": "../../contracts/internals/parseIntScientific.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_short": "../../contracts/internals/parseIntScientific.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], "starting_column": 1, "ending_column": 2}}, "signature": "_parseIntScientific(string,uint256)"}}}}, {"type": "node", "name": "mint = mint.mul(10 ** (_magnitudeMult))", "source_mapping": {"start": 8375, "length": 37, "filename_used": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_relative": "../../contracts/internals/parseIntScientific.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_short": "../../contracts/internals/parseIntScientific.sol", "is_dependency": false, "lines": [159], "starting_column": 13, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "function", "name": "_parseIntScientific", "source_mapping": {"start": 2338, "length": 6150, "filename_used": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_relative": "../../contracts/internals/parseIntScientific.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_short": "../../contracts/internals/parseIntScientific.sol", "is_dependency": false, "lines": [49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ParseIntScientific", "source_mapping": {"start": 951, "length": 7539, "filename_used": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_relative": "../../contracts/internals/parseIntScientific.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_short": "../../contracts/internals/parseIntScientific.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], "starting_column": 1, "ending_column": 2}}, "signature": "_parseIntScientific(string,uint256)"}}}}], "description": "ParseIntScientific._parseIntScientific(string,uint256) (../../contracts/internals/parseIntScientific.sol#49-163) performs a multiplication on the result of a division:\n\t-mint /= 10 ** (mintExp - _magnitudeMult) (../../contracts/internals/parseIntScientific.sol#128)\n\t-mint = mint.mul(10 ** (_magnitudeMult)) (../../contracts/internals/parseIntScientific.sol#159)\n", "markdown": "[ParseIntScientific._parseIntScientific(string,uint256)](../../contracts/internals/parseIntScientific.sol#L49-L163) performs a multiplication on the result of a division:\n\t-[mint /= 10 ** (mintExp - _magnitudeMult)](../../contracts/internals/parseIntScientific.sol#L128)\n\t-[mint = mint.mul(10 ** (_magnitudeMult))](../../contracts/internals/parseIntScientific.sol#L159)\n", "id": "298bd6ddafc691cf4f164caea46b84f7d806fa4aa46de23a15f20ba149f569d4", "check": "divide-before-multiply", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_parseIntScientific", "source_mapping": {"start": 2338, "length": 6150, "filename_used": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_relative": "../../contracts/internals/parseIntScientific.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_short": "../../contracts/internals/parseIntScientific.sol", "is_dependency": false, "lines": [49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ParseIntScientific", "source_mapping": {"start": 951, "length": 7539, "filename_used": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_relative": "../../contracts/internals/parseIntScientific.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_short": "../../contracts/internals/parseIntScientific.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], "starting_column": 1, "ending_column": 2}}, "signature": "_parseIntScientific(string,uint256)"}}, {"type": "node", "name": "mintDec /= 10 ** (decMinted)", "source_mapping": {"start": 8192, "length": 26, "filename_used": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_relative": "../../contracts/internals/parseIntScientific.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_short": "../../contracts/internals/parseIntScientific.sol", "is_dependency": false, "lines": [156], "starting_column": 13, "ending_column": 39}, "type_specific_fields": {"parent": {"type": "function", "name": "_parseIntScientific", "source_mapping": {"start": 2338, "length": 6150, "filename_used": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_relative": "../../contracts/internals/parseIntScientific.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_short": "../../contracts/internals/parseIntScientific.sol", "is_dependency": false, "lines": [49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ParseIntScientific", "source_mapping": {"start": 951, "length": 7539, "filename_used": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_relative": "../../contracts/internals/parseIntScientific.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_short": "../../contracts/internals/parseIntScientific.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], "starting_column": 1, "ending_column": 2}}, "signature": "_parseIntScientific(string,uint256)"}}}}, {"type": "node", "name": "mintDec = mintDec.mul(10)", "source_mapping": {"start": 3689, "length": 25, "filename_used": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_relative": "../../contracts/internals/parseIntScientific.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_short": "../../contracts/internals/parseIntScientific.sol", "is_dependency": false, "lines": [68], "starting_column": 21, "ending_column": 46}, "type_specific_fields": {"parent": {"type": "function", "name": "_parseIntScientific", "source_mapping": {"start": 2338, "length": 6150, "filename_used": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_relative": "../../contracts/internals/parseIntScientific.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_short": "../../contracts/internals/parseIntScientific.sol", "is_dependency": false, "lines": [49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ParseIntScientific", "source_mapping": {"start": 951, "length": 7539, "filename_used": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_relative": "../../contracts/internals/parseIntScientific.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_short": "../../contracts/internals/parseIntScientific.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], "starting_column": 1, "ending_column": 2}}, "signature": "_parseIntScientific(string,uint256)"}}}}], "description": "ParseIntScientific._parseIntScientific(string,uint256) (../../contracts/internals/parseIntScientific.sol#49-163) performs a multiplication on the result of a division:\n\t-mintDec /= 10 ** (decMinted) (../../contracts/internals/parseIntScientific.sol#156)\n\t-mintDec = mintDec.mul(10) (../../contracts/internals/parseIntScientific.sol#68)\n", "markdown": "[ParseIntScientific._parseIntScientific(string,uint256)](../../contracts/internals/parseIntScientific.sol#L49-L163) performs a multiplication on the result of a division:\n\t-[mintDec /= 10 ** (decMinted)](../../contracts/internals/parseIntScientific.sol#L156)\n\t-[mintDec = mintDec.mul(10)](../../contracts/internals/parseIntScientific.sol#L68)\n", "id": "470f40a7333d285b7694adabe7173b9c0362522e9144fa61ef4a6eaa2daf9e01", "check": "divide-before-multiply", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_parseIntScientific", "source_mapping": {"start": 2338, "length": 6150, "filename_used": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_relative": "../../contracts/internals/parseIntScientific.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_short": "../../contracts/internals/parseIntScientific.sol", "is_dependency": false, "lines": [49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ParseIntScientific", "source_mapping": {"start": 951, "length": 7539, "filename_used": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_relative": "../../contracts/internals/parseIntScientific.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_short": "../../contracts/internals/parseIntScientific.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], "starting_column": 1, "ending_column": 2}}, "signature": "_parseIntScientific(string,uint256)"}}, {"type": "node", "name": "mint /= 10 ** (mintExp - _magnitudeMult)", "source_mapping": {"start": 6735, "length": 38, "filename_used": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_relative": "../../contracts/internals/parseIntScientific.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_short": "../../contracts/internals/parseIntScientific.sol", "is_dependency": false, "lines": [128], "starting_column": 17, "ending_column": 55}, "type_specific_fields": {"parent": {"type": "function", "name": "_parseIntScientific", "source_mapping": {"start": 2338, "length": 6150, "filename_used": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_relative": "../../contracts/internals/parseIntScientific.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_short": "../../contracts/internals/parseIntScientific.sol", "is_dependency": false, "lines": [49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ParseIntScientific", "source_mapping": {"start": 951, "length": 7539, "filename_used": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_relative": "../../contracts/internals/parseIntScientific.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_short": "../../contracts/internals/parseIntScientific.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], "starting_column": 1, "ending_column": 2}}, "signature": "_parseIntScientific(string,uint256)"}}}}, {"type": "node", "name": "mint = mint.mul(10)", "source_mapping": {"start": 4059, "length": 19, "filename_used": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_relative": "../../contracts/internals/parseIntScientific.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_short": "../../contracts/internals/parseIntScientific.sol", "is_dependency": false, "lines": [75], "starting_column": 21, "ending_column": 40}, "type_specific_fields": {"parent": {"type": "function", "name": "_parseIntScientific", "source_mapping": {"start": 2338, "length": 6150, "filename_used": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_relative": "../../contracts/internals/parseIntScientific.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_short": "../../contracts/internals/parseIntScientific.sol", "is_dependency": false, "lines": [49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ParseIntScientific", "source_mapping": {"start": 951, "length": 7539, "filename_used": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_relative": "../../contracts/internals/parseIntScientific.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/internals/parseIntScientific.sol", "filename_short": "../../contracts/internals/parseIntScientific.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], "starting_column": 1, "ending_column": 2}}, "signature": "_parseIntScientific(string,uint256)"}}}}], "description": "ParseIntScientific._parseIntScientific(string,uint256) (../../contracts/internals/parseIntScientific.sol#49-163) performs a multiplication on the result of a division:\n\t-mint /= 10 ** (mintExp - _magnitudeMult) (../../contracts/internals/parseIntScientific.sol#128)\n\t-mint = mint.mul(10) (../../contracts/internals/parseIntScientific.sol#75)\n", "markdown": "[ParseIntScientific._parseIntScientific(string,uint256)](../../contracts/internals/parseIntScientific.sol#L49-L163) performs a multiplication on the result of a division:\n\t-[mint /= 10 ** (mintExp - _magnitudeMult)](../../contracts/internals/parseIntScientific.sol#L128)\n\t-[mint = mint.mul(10)](../../contracts/internals/parseIntScientific.sol#L75)\n", "id": "f8b2ecf16caf3e893d94cb419fc0ab2f8ea68dd9192e609cb5a3db13bc7a8e17", "check": "divide-before-multiply", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "constructor", "source_mapping": {"start": 3210, "length": 584, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Oracle", "source_mapping": {"start": 1225, "length": 15495, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347], "starting_column": 1, "ending_column": 2}}, "signature": "constructor(address,address,bytes32,bytes32)"}}, {"type": "node", "name": "oraclize_setCustomGasPrice(10000000000)", "source_mapping": {"start": 3703, "length": 39, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [82], "starting_column": 9, "ending_column": 48}, "type_specific_fields": {"parent": {"type": "function", "name": "constructor", "source_mapping": {"start": 3210, "length": 584, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Oracle", "source_mapping": {"start": 1225, "length": 15495, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347], "starting_column": 1, "ending_column": 2}}, "signature": "constructor(address,address,bytes32,bytes32)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "oraclize_setProof(proofType_Native)", "source_mapping": {"start": 3752, "length": 35, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [83], "starting_column": 9, "ending_column": 44}, "type_specific_fields": {"parent": {"type": "function", "name": "constructor", "source_mapping": {"start": 3210, "length": 584, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Oracle", "source_mapping": {"start": 1225, "length": 15495, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347], "starting_column": 1, "ending_column": 2}}, "signature": "constructor(address,address,bytes32,bytes32)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "oraclize_setProof(proofType_Native)", "source_mapping": {"start": 3752, "length": 35, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [83], "starting_column": 9, "ending_column": 44}, "type_specific_fields": {"parent": {"type": "function", "name": "constructor", "source_mapping": {"start": 3210, "length": 584, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Oracle", "source_mapping": {"start": 1225, "length": 15495, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347], "starting_column": 1, "ending_column": 2}}, "signature": "constructor(address,address,bytes32,bytes32)"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "oraclize"}}, {"type": "node", "name": "oraclize_setProof(proofType_Native)", "source_mapping": {"start": 3752, "length": 35, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [83], "starting_column": 9, "ending_column": 44}, "type_specific_fields": {"parent": {"type": "function", "name": "constructor", "source_mapping": {"start": 3210, "length": 584, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Oracle", "source_mapping": {"start": 1225, "length": 15495, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347], "starting_column": 1, "ending_column": 2}}, "signature": "constructor(address,address,bytes32,bytes32)"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "OAR"}}], "description": "Reentrancy in Oracle.constructor(address,address,bytes32,bytes32) (../../contracts/oracle.sol#76-84):\n\tExternal calls:\n\t- oraclize_setCustomGasPrice(10000000000) (../../contracts/oracle.sol#82)\n\t- oraclize_setProof(proofType_Native) (../../contracts/oracle.sol#83)\n\tState variables written after the call(s):\n\t- usingOraclize.OAR (../../contracts/externals/oraclizeAPI_0.5.sol#277) in oraclize_setProof(proofType_Native) (../../contracts/oracle.sol#83)\n\t- usingOraclize.oraclize (../../contracts/externals/oraclizeAPI_0.5.sol#276) in oraclize_setProof(proofType_Native) (../../contracts/oracle.sol#83)\n", "markdown": "Reentrancy in [Oracle.constructor(address,address,bytes32,bytes32)](../../contracts/oracle.sol#L76-L84):\n\tExternal calls:\n\t- [oraclize_setCustomGasPrice(10000000000)](../../contracts/oracle.sol#L82)\n\t- [oraclize_setProof(proofType_Native)](../../contracts/oracle.sol#L83)\n\tState variables written after the call(s):\n\t- [usingOraclize.OAR](../../contracts/externals/oraclizeAPI_0.5.sol#L277) in [oraclize_setProof(proofType_Native)](../../contracts/oracle.sol#L83)\n\t- [usingOraclize.oraclize](../../contracts/externals/oraclizeAPI_0.5.sol#L276) in [oraclize_setProof(proofType_Native)](../../contracts/oracle.sol#L83)\n", "id": "145e9d5c8d484249fb333dd150e5769fb409316350e7126dbd818f67cd953b4c", "check": "reentrancy-no-eth", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_parseRate", "source_mapping": {"start": 6977, "length": 877, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Oracle", "source_mapping": {"start": 1225, "length": 15495, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347], "starting_column": 1, "ending_column": 2}}, "signature": "_parseRate(string)"}}, {"type": "node", "name": "body.split(:.toSlice())", "source_mapping": {"start": 7510, "length": 25, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [162], "starting_column": 9, "ending_column": 34}, "type_specific_fields": {"parent": {"type": "function", "name": "_parseRate", "source_mapping": {"start": 6977, "length": 877, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Oracle", "source_mapping": {"start": 1225, "length": 15495, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347], "starting_column": 1, "ending_column": 2}}, "signature": "_parseRate(string)"}}}}], "description": "Oracle._parseRate(string) (../../contracts/oracle.sol#152-169) ignores return value by body.split(:.toSlice()) (../../contracts/oracle.sol#162)\n", "markdown": "[Oracle._parseRate(string)](../../contracts/oracle.sol#L152-L169) ignores return value by [body.split(:.toSlice())](../../contracts/oracle.sol#L162)\n", "id": "4f4dde8e09b7fab422ef8516964bd57199df1959fa65c0853e5a163c6a292488", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_parseRate", "source_mapping": {"start": 6977, "length": 877, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Oracle", "source_mapping": {"start": 1225, "length": 15495, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347], "starting_column": 1, "ending_column": 2}}, "signature": "_parseRate(string)"}}, {"type": "node", "name": "body.until(}.toSlice())", "source_mapping": {"start": 7663, "length": 25, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [165], "starting_column": 9, "ending_column": 34}, "type_specific_fields": {"parent": {"type": "function", "name": "_parseRate", "source_mapping": {"start": 6977, "length": 877, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Oracle", "source_mapping": {"start": 1225, "length": 15495, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347], "starting_column": 1, "ending_column": 2}}, "signature": "_parseRate(string)"}}}}], "description": "Oracle._parseRate(string) (../../contracts/oracle.sol#152-169) ignores return value by body.until(}.toSlice()) (../../contracts/oracle.sol#165)\n", "markdown": "[Oracle._parseRate(string)](../../contracts/oracle.sol#L152-L169) ignores return value by [body.until(}.toSlice())](../../contracts/oracle.sol#L165)\n", "id": "ecd08aeb7dd4faaa07dc115004766b21c0507249bce3660a1f56e4a94f5b272a", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "__callback", "source_mapping": {"start": 5678, "length": 1151, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Oracle", "source_mapping": {"start": 1225, "length": 15495, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347], "starting_column": 1, "ending_column": 2}}, "signature": "__callback(bytes32,string,bytes)"}}, {"type": "node", "name": "require(bool,string)(msg.sender == oraclize_cbAddress(),sender is not oraclize)", "source_mapping": {"start": 5838, "length": 69, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [126], "starting_column": 9, "ending_column": 78}, "type_specific_fields": {"parent": {"type": "function", "name": "__callback", "source_mapping": {"start": 5678, "length": 1151, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Oracle", "source_mapping": {"start": 1225, "length": 15495, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347], "starting_column": 1, "ending_column": 2}}, "signature": "__callback(bytes32,string,bytes)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "delete _queryToToken[_queryID]", "source_mapping": {"start": 6714, "length": 30, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [144], "starting_column": 13, "ending_column": 43}, "type_specific_fields": {"parent": {"type": "function", "name": "__callback", "source_mapping": {"start": 5678, "length": 1151, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Oracle", "source_mapping": {"start": 1225, "length": 15495, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347], "starting_column": 1, "ending_column": 2}}, "signature": "__callback(bytes32,string,bytes)"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "_queryToToken"}}], "description": "Reentrancy in Oracle.__callback(bytes32,string,bytes) (../../contracts/oracle.sol#124-148):\n\tExternal calls:\n\t- require(bool,string)(msg.sender == oraclize_cbAddress(),sender is not oraclize) (../../contracts/oracle.sol#126)\n\tState variables written after the call(s):\n\t- Oracle._queryToToken (../../contracts/oracle.sol#69) in delete _queryToToken[_queryID] (../../contracts/oracle.sol#144)\n", "markdown": "Reentrancy in [Oracle.__callback(bytes32,string,bytes)](../../contracts/oracle.sol#L124-L148):\n\tExternal calls:\n\t- [require(bool,string)(msg.sender == oraclize_cbAddress(),sender is not oraclize)](../../contracts/oracle.sol#L126)\n\tState variables written after the call(s):\n\t- [Oracle._queryToToken](../../contracts/oracle.sol#L69) in [delete _queryToToken[_queryID]](../../contracts/oracle.sol#L144)\n", "id": "9df9180e83e9fb4f4f4f4624d0e360f81c29ace8d43a3ed948cbcb3d582da0ee", "check": "reentrancy-benign", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_updateTokenRates", "source_mapping": {"start": 8025, "length": 1670, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Oracle", "source_mapping": {"start": 1225, "length": 15495, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347], "starting_column": 1, "ending_column": 2}}, "signature": "_updateTokenRates(uint256)"}}, {"type": "node", "name": "queryID = oraclize_query(URL,apiPrefix.concat(sym).toSlice().concat(apiSuffix),_gasLimit)", "source_mapping": {"start": 9309, "length": 101, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [195], "starting_column": 17, "ending_column": 118}, "type_specific_fields": {"parent": {"type": "function", "name": "_updateTokenRates", "source_mapping": {"start": 8025, "length": 1670, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Oracle", "source_mapping": {"start": 1225, "length": 15495, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347], "starting_column": 1, "ending_column": 2}}, "signature": "_updateTokenRates(uint256)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "_queryToToken[queryID] = tokenAddresses[i]", "source_mapping": {"start": 9510, "length": 42, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [197], "starting_column": 17, "ending_column": 59}, "type_specific_fields": {"parent": {"type": "function", "name": "_updateTokenRates", "source_mapping": {"start": 8025, "length": 1670, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Oracle", "source_mapping": {"start": 1225, "length": 15495, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347], "starting_column": 1, "ending_column": 2}}, "signature": "_updateTokenRates(uint256)"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "_queryToToken"}}], "description": "Reentrancy in Oracle._updateTokenRates(uint256) (../../contracts/oracle.sol#173-202):\n\tExternal calls:\n\t- queryID = oraclize_query(URL,apiPrefix.concat(sym).toSlice().concat(apiSuffix),_gasLimit) (../../contracts/oracle.sol#195)\n\tState variables written after the call(s):\n\t- Oracle._queryToToken (../../contracts/oracle.sol#69) in _queryToToken[queryID] = tokenAddresses[i] (../../contracts/oracle.sol#197)\n", "markdown": "Reentrancy in [Oracle._updateTokenRates(uint256)](../../contracts/oracle.sol#L173-L202):\n\tExternal calls:\n\t- [queryID = oraclize_query(URL,apiPrefix.concat(sym).toSlice().concat(apiSuffix),_gasLimit)](../../contracts/oracle.sol#L195)\n\tState variables written after the call(s):\n\t- [Oracle._queryToToken](../../contracts/oracle.sol#L69) in [_queryToToken[queryID] = tokenAddresses[i]](../../contracts/oracle.sol#L197)\n", "id": "13e8648d299dd6174d83a44e5f6780c95921ee5bdcfd52abd4e828e3d4fb6b60", "check": "reentrancy-benign", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_updateTokenRatesList", "source_mapping": {"start": 9967, "length": 1778, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Oracle", "source_mapping": {"start": 1225, "length": 15495, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347], "starting_column": 1, "ending_column": 2}}, "signature": "_updateTokenRatesList(uint256,address[])"}}, {"type": "node", "name": "queryID = oraclize_query(URL,apiPrefix.concat(symbol).toSlice().concat(apiSuffix),_gasLimit)", "source_mapping": {"start": 11357, "length": 104, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [229], "starting_column": 17, "ending_column": 121}, "type_specific_fields": {"parent": {"type": "function", "name": "_updateTokenRatesList", "source_mapping": {"start": 9967, "length": 1778, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Oracle", "source_mapping": {"start": 1225, "length": 15495, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347], "starting_column": 1, "ending_column": 2}}, "signature": "_updateTokenRatesList(uint256,address[])"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "_queryToToken[queryID] = _tokenList[i]", "source_mapping": {"start": 11561, "length": 38, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [231], "starting_column": 17, "ending_column": 55}, "type_specific_fields": {"parent": {"type": "function", "name": "_updateTokenRatesList", "source_mapping": {"start": 9967, "length": 1778, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Oracle", "source_mapping": {"start": 1225, "length": 15495, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347], "starting_column": 1, "ending_column": 2}}, "signature": "_updateTokenRatesList(uint256,address[])"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "_queryToToken"}}], "description": "Reentrancy in Oracle._updateTokenRatesList(uint256,address[]) (../../contracts/oracle.sol#207-236):\n\tExternal calls:\n\t- queryID = oraclize_query(URL,apiPrefix.concat(symbol).toSlice().concat(apiSuffix),_gasLimit) (../../contracts/oracle.sol#229)\n\tState variables written after the call(s):\n\t- Oracle._queryToToken (../../contracts/oracle.sol#69) in _queryToToken[queryID] = _tokenList[i] (../../contracts/oracle.sol#231)\n", "markdown": "Reentrancy in [Oracle._updateTokenRatesList(uint256,address[])](../../contracts/oracle.sol#L207-L236):\n\tExternal calls:\n\t- [queryID = oraclize_query(URL,apiPrefix.concat(symbol).toSlice().concat(apiSuffix),_gasLimit)](../../contracts/oracle.sol#L229)\n\tState variables written after the call(s):\n\t- [Oracle._queryToToken](../../contracts/oracle.sol#L69) in [_queryToToken[queryID] = _tokenList[i]](../../contracts/oracle.sol#L231)\n", "id": "da706edd3bac0e3f63e079f67abca627c16ffa165e4917efb4aa123a306ae1e0", "check": "reentrancy-benign", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "constructor", "source_mapping": {"start": 3210, "length": 584, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Oracle", "source_mapping": {"start": 1225, "length": 15495, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347], "starting_column": 1, "ending_column": 2}}, "signature": "constructor(address,address,bytes32,bytes32)"}}, {"type": "node", "name": "oraclize_setCustomGasPrice(10000000000)", "source_mapping": {"start": 3703, "length": 39, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [82], "starting_column": 9, "ending_column": 48}, "type_specific_fields": {"parent": {"type": "function", "name": "constructor", "source_mapping": {"start": 3210, "length": 584, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Oracle", "source_mapping": {"start": 1225, "length": 15495, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347], "starting_column": 1, "ending_column": 2}}, "signature": "constructor(address,address,bytes32,bytes32)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "oraclize_setProof(proofType_Native)", "source_mapping": {"start": 3752, "length": 35, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [83], "starting_column": 9, "ending_column": 44}, "type_specific_fields": {"parent": {"type": "function", "name": "constructor", "source_mapping": {"start": 3210, "length": 584, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Oracle", "source_mapping": {"start": 1225, "length": 15495, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347], "starting_column": 1, "ending_column": 2}}, "signature": "constructor(address,address,bytes32,bytes32)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "oraclize_setProof(proofType_Native)", "source_mapping": {"start": 3752, "length": 35, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [83], "starting_column": 9, "ending_column": 44}, "type_specific_fields": {"parent": {"type": "function", "name": "constructor", "source_mapping": {"start": 3210, "length": 584, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Oracle", "source_mapping": {"start": 1225, "length": 15495, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347], "starting_column": 1, "ending_column": 2}}, "signature": "constructor(address,address,bytes32,bytes32)"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "oraclize_network_name"}}], "description": "Reentrancy in Oracle.constructor(address,address,bytes32,bytes32) (../../contracts/oracle.sol#76-84):\n\tExternal calls:\n\t- oraclize_setCustomGasPrice(10000000000) (../../contracts/oracle.sol#82)\n\t- oraclize_setProof(proofType_Native) (../../contracts/oracle.sol#83)\n\tState variables written after the call(s):\n\t- usingOraclize.oraclize_network_name (../../contracts/externals/oraclizeAPI_0.5.sol#290) in oraclize_setProof(proofType_Native) (../../contracts/oracle.sol#83)\n", "markdown": "Reentrancy in [Oracle.constructor(address,address,bytes32,bytes32)](../../contracts/oracle.sol#L76-L84):\n\tExternal calls:\n\t- [oraclize_setCustomGasPrice(10000000000)](../../contracts/oracle.sol#L82)\n\t- [oraclize_setProof(proofType_Native)](../../contracts/oracle.sol#L83)\n\tState variables written after the call(s):\n\t- [usingOraclize.oraclize_network_name](../../contracts/externals/oraclizeAPI_0.5.sol#L290) in [oraclize_setProof(proofType_Native)](../../contracts/oracle.sol#L83)\n", "id": "cc09cdd29bfde97f27d2a5d4f189b6763e920a5c3f9b9b64dcd985fd076b1c29", "check": "reentrancy-benign", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_updateTokenRates", "source_mapping": {"start": 8025, "length": 1670, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Oracle", "source_mapping": {"start": 1225, "length": 15495, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347], "starting_column": 1, "ending_column": 2}}, "signature": "_updateTokenRates(uint256)"}}, {"type": "node", "name": "oraclize_getPrice(URL) * tokenAddresses.length > address(this).balance", "source_mapping": {"start": 8427, "length": 72, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [180], "starting_column": 20, "ending_column": 92}, "type_specific_fields": {"parent": {"type": "function", "name": "_updateTokenRates", "source_mapping": {"start": 8025, "length": 1670, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Oracle", "source_mapping": {"start": 1225, "length": 15495, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347], "starting_column": 1, "ending_column": 2}}, "signature": "_updateTokenRates(uint256)"}}}, "additional_fields": {"underlying_type": "external_calls"}}], "description": "Reentrancy in Oracle._updateTokenRates(uint256) (../../contracts/oracle.sol#173-202):\n\tExternal calls:\n\t- oraclize_getPrice(URL) * tokenAddresses.length > address(this).balance (../../contracts/oracle.sol#180)\n\tEvent emitted after the call(s):\n\t- FailedUpdateRequest(insufficient balance) (../../contracts/oracle.sol#182)\n", "markdown": "Reentrancy in [Oracle._updateTokenRates(uint256)](../../contracts/oracle.sol#L173-L202):\n\tExternal calls:\n\t- [oraclize_getPrice(URL) * tokenAddresses.length > address(this).balance](../../contracts/oracle.sol#L180)\n\tEvent emitted after the call(s):\n\t- [FailedUpdateRequest(insufficient balance)](../../contracts/oracle.sol#L182)\n", "id": "b1b260294a9174a034f41084a4052fd8534e81b54c6f21119a3dbff8d7863521", "check": "reentrancy-events", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_updateTokenRates", "source_mapping": {"start": 8025, "length": 1670, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Oracle", "source_mapping": {"start": 1225, "length": 15495, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347], "starting_column": 1, "ending_column": 2}}, "signature": "_updateTokenRates(uint256)"}}, {"type": "node", "name": "queryID = oraclize_query(URL,apiPrefix.concat(sym).toSlice().concat(apiSuffix),_gasLimit)", "source_mapping": {"start": 9309, "length": 101, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [195], "starting_column": 17, "ending_column": 118}, "type_specific_fields": {"parent": {"type": "function", "name": "_updateTokenRates", "source_mapping": {"start": 8025, "length": 1670, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Oracle", "source_mapping": {"start": 1225, "length": 15495, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347], "starting_column": 1, "ending_column": 2}}, "signature": "_updateTokenRates(uint256)"}}}, "additional_fields": {"underlying_type": "external_calls"}}], "description": "Reentrancy in Oracle._updateTokenRates(uint256) (../../contracts/oracle.sol#173-202):\n\tExternal calls:\n\t- queryID = oraclize_query(URL,apiPrefix.concat(sym).toSlice().concat(apiSuffix),_gasLimit) (../../contracts/oracle.sol#195)\n\tEvent emitted after the call(s):\n\t- RequestedUpdate(sym.toString(),queryID) (../../contracts/oracle.sol#199)\n", "markdown": "Reentrancy in [Oracle._updateTokenRates(uint256)](../../contracts/oracle.sol#L173-L202):\n\tExternal calls:\n\t- [queryID = oraclize_query(URL,apiPrefix.concat(sym).toSlice().concat(apiSuffix),_gasLimit)](../../contracts/oracle.sol#L195)\n\tEvent emitted after the call(s):\n\t- [RequestedUpdate(sym.toString(),queryID)](../../contracts/oracle.sol#L199)\n", "id": "6adade20a88d6343b2632a13a9d9788fbabed5c3ebcb245965fdaba0d8bf0683", "check": "reentrancy-events", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_updateTokenRatesList", "source_mapping": {"start": 9967, "length": 1778, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Oracle", "source_mapping": {"start": 1225, "length": 15495, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347], "starting_column": 1, "ending_column": 2}}, "signature": "_updateTokenRatesList(uint256,address[])"}}, {"type": "node", "name": "oraclize_getPrice(URL) * _tokenList.length > address(this).balance", "source_mapping": {"start": 10341, "length": 68, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [213], "starting_column": 20, "ending_column": 88}, "type_specific_fields": {"parent": {"type": "function", "name": "_updateTokenRatesList", "source_mapping": {"start": 9967, "length": 1778, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Oracle", "source_mapping": {"start": 1225, "length": 15495, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347], "starting_column": 1, "ending_column": 2}}, "signature": "_updateTokenRatesList(uint256,address[])"}}}, "additional_fields": {"underlying_type": "external_calls"}}], "description": "Reentrancy in Oracle._updateTokenRatesList(uint256,address[]) (../../contracts/oracle.sol#207-236):\n\tExternal calls:\n\t- oraclize_getPrice(URL) * _tokenList.length > address(this).balance (../../contracts/oracle.sol#213)\n\tEvent emitted after the call(s):\n\t- FailedUpdateRequest(insufficient balance) (../../contracts/oracle.sol#215)\n", "markdown": "Reentrancy in [Oracle._updateTokenRatesList(uint256,address[])](../../contracts/oracle.sol#L207-L236):\n\tExternal calls:\n\t- [oraclize_getPrice(URL) * _tokenList.length > address(this).balance](../../contracts/oracle.sol#L213)\n\tEvent emitted after the call(s):\n\t- [FailedUpdateRequest(insufficient balance)](../../contracts/oracle.sol#L215)\n", "id": "2909537287d7900b02d7b32f1c6b2a6653edc8b431298b6ddca1a183b7e44e28", "check": "reentrancy-events", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_updateTokenRatesList", "source_mapping": {"start": 9967, "length": 1778, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Oracle", "source_mapping": {"start": 1225, "length": 15495, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347], "starting_column": 1, "ending_column": 2}}, "signature": "_updateTokenRatesList(uint256,address[])"}}, {"type": "node", "name": "queryID = oraclize_query(URL,apiPrefix.concat(symbol).toSlice().concat(apiSuffix),_gasLimit)", "source_mapping": {"start": 11357, "length": 104, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [229], "starting_column": 17, "ending_column": 121}, "type_specific_fields": {"parent": {"type": "function", "name": "_updateTokenRatesList", "source_mapping": {"start": 9967, "length": 1778, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Oracle", "source_mapping": {"start": 1225, "length": 15495, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347], "starting_column": 1, "ending_column": 2}}, "signature": "_updateTokenRatesList(uint256,address[])"}}}, "additional_fields": {"underlying_type": "external_calls"}}], "description": "Reentrancy in Oracle._updateTokenRatesList(uint256,address[]) (../../contracts/oracle.sol#207-236):\n\tExternal calls:\n\t- queryID = oraclize_query(URL,apiPrefix.concat(symbol).toSlice().concat(apiSuffix),_gasLimit) (../../contracts/oracle.sol#229)\n\tEvent emitted after the call(s):\n\t- RequestedUpdate(symbol.toString(),queryID) (../../contracts/oracle.sol#233)\n", "markdown": "Reentrancy in [Oracle._updateTokenRatesList(uint256,address[])](../../contracts/oracle.sol#L207-L236):\n\tExternal calls:\n\t- [queryID = oraclize_query(URL,apiPrefix.concat(symbol).toSlice().concat(apiSuffix),_gasLimit)](../../contracts/oracle.sol#L229)\n\tEvent emitted after the call(s):\n\t- [RequestedUpdate(symbol.toString(),queryID)](../../contracts/oracle.sol#L233)\n", "id": "bf326ce0611dc01df71ad8ca5b23dc151821feb54aef0708d7e80a25e7fa66a5", "check": "reentrancy-events", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "claim", "source_mapping": {"start": 5209, "length": 184, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [114, 115, 116, 117], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Oracle", "source_mapping": {"start": 1225, "length": 15495, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347], "starting_column": 1, "ending_column": 2}}, "signature": "claim(address,address,uint256)"}}, {"type": "node", "name": "_safeTransfer(_to,_asset,_amount)", "source_mapping": {"start": 5307, "length": 35, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [115], "starting_column": 9, "ending_column": 44}, "type_specific_fields": {"parent": {"type": "function", "name": "claim", "source_mapping": {"start": 5209, "length": 184, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [114, 115, 116, 117], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Oracle", "source_mapping": {"start": 1225, "length": 15495, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347], "starting_column": 1, "ending_column": 2}}, "signature": "claim(address,address,uint256)"}}}, "additional_fields": {"underlying_type": "external_calls"}}], "description": "Reentrancy in Oracle.claim(address,address,uint256) (../../contracts/oracle.sol#114-117):\n\tExternal calls:\n\t- _safeTransfer(_to,_asset,_amount) (../../contracts/oracle.sol#115)\n\tEvent emitted after the call(s):\n\t- Claimed(_to,_asset,_amount) (../../contracts/oracle.sol#116)\n", "markdown": "Reentrancy in [Oracle.claim(address,address,uint256)](../../contracts/oracle.sol#L114-L117):\n\tExternal calls:\n\t- [_safeTransfer(_to,_asset,_amount)](../../contracts/oracle.sol#L115)\n\tEvent emitted after the call(s):\n\t- [Claimed(_to,_asset,_amount)](../../contracts/oracle.sol#L116)\n", "id": "838fe2f76c9ca9ef6c6eda4cb6ddf4deb7e543fec73cd14ac51d596b11078c69", "check": "reentrancy-events", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "setCustomGasPrice", "source_mapping": {"start": 4235, "length": 173, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [95, 96, 97, 98], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Oracle", "source_mapping": {"start": 1225, "length": 15495, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347], "starting_column": 1, "ending_column": 2}}, "signature": "setCustomGasPrice(uint256)"}}, {"type": "node", "name": "oraclize_setCustomGasPrice(_gasPrice)", "source_mapping": {"start": 4315, "length": 37, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [96], "starting_column": 9, "ending_column": 46}, "type_specific_fields": {"parent": {"type": "function", "name": "setCustomGasPrice", "source_mapping": {"start": 4235, "length": 173, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [95, 96, 97, 98], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Oracle", "source_mapping": {"start": 1225, "length": 15495, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347], "starting_column": 1, "ending_column": 2}}, "signature": "setCustomGasPrice(uint256)"}}}, "additional_fields": {"underlying_type": "external_calls"}}], "description": "Reentrancy in Oracle.setCustomGasPrice(uint256) (../../contracts/oracle.sol#95-98):\n\tExternal calls:\n\t- oraclize_setCustomGasPrice(_gasPrice) (../../contracts/oracle.sol#96)\n\tEvent emitted after the call(s):\n\t- SetGasPrice(msg.sender,_gasPrice) (../../contracts/oracle.sol#97)\n", "markdown": "Reentrancy in [Oracle.setCustomGasPrice(uint256)](../../contracts/oracle.sol#L95-L98):\n\tExternal calls:\n\t- [oraclize_setCustomGasPrice(_gasPrice)](../../contracts/oracle.sol#L96)\n\tEvent emitted after the call(s):\n\t- [SetGasPrice(msg.sender,_gasPrice)](../../contracts/oracle.sol#L97)\n", "id": "1f16da36cf525f60bbd52331dcd028bbc997552faa9539c6006d85d4211825c8", "check": "reentrancy-events", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "constructor", "source_mapping": {"start": 3210, "length": 584, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Oracle", "source_mapping": {"start": 1225, "length": 15495, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347], "starting_column": 1, "ending_column": 2}}, "signature": "constructor(address,address,bytes32,bytes32)"}}, {"type": "node", "name": "oraclize_setCustomGasPrice(10000000000)", "source_mapping": {"start": 3703, "length": 39, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [82], "starting_column": 9, "ending_column": 48}, "type_specific_fields": {"parent": {"type": "function", "name": "constructor", "source_mapping": {"start": 3210, "length": 584, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Oracle", "source_mapping": {"start": 1225, "length": 15495, "filename_used": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_relative": "../../contracts/oracle.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/oracle.sol", "filename_short": "../../contracts/oracle.sol", "is_dependency": false, "lines": [33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347], "starting_column": 1, "ending_column": 2}}, "signature": "constructor(address,address,bytes32,bytes32)"}}}}], "description": "Oracle.constructor(address,address,bytes32,bytes32) (../../contracts/oracle.sol#76-84) uses literals with too many digits:\n\t- oraclize_setCustomGasPrice(10000000000) (../../contracts/oracle.sol#82)\n", "markdown": "[Oracle.constructor(address,address,bytes32,bytes32)](../../contracts/oracle.sol#L76-L84) uses literals with too many digits:\n\t- [oraclize_setCustomGasPrice(10000000000)](../../contracts/oracle.sol#L82)\n", "id": "39e1f7c58a43e434eef6b268ca3ad4ef0c74e291b3e4365b652aa7ce7191ec0e", "check": "too-many-digits", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "burn", "source_mapping": {"start": 2873, "length": 841, "filename_used": "/contracts/tools/slither/../../contracts/holder.sol", "filename_relative": "../../contracts/holder.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/holder.sol", "filename_short": "../../contracts/holder.sol", "is_dependency": false, "lines": [68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Holder", "source_mapping": {"start": 1249, "length": 3565, "filename_used": "/contracts/tools/slither/../../contracts/holder.sol", "filename_relative": "../../contracts/holder.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/holder.sol", "filename_short": "../../contracts/holder.sol", "is_dependency": false, "lines": [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109], "starting_column": 1, "ending_column": 2}}, "signature": "burn(address,uint256)"}}, {"type": "node", "name": "_safeTransfer(_to,redeemableAddresses[i],redeemableAmount)", "source_mapping": {"start": 3518, "length": 60, "filename_used": "/contracts/tools/slither/../../contracts/holder.sol", "filename_relative": "../../contracts/holder.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/holder.sol", "filename_short": "../../contracts/holder.sol", "is_dependency": false, "lines": [79], "starting_column": 17, "ending_column": 77}, "type_specific_fields": {"parent": {"type": "function", "name": "burn", "source_mapping": {"start": 2873, "length": 841, "filename_used": "/contracts/tools/slither/../../contracts/holder.sol", "filename_relative": "../../contracts/holder.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/holder.sol", "filename_short": "../../contracts/holder.sol", "is_dependency": false, "lines": [68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Holder", "source_mapping": {"start": 1249, "length": 3565, "filename_used": "/contracts/tools/slither/../../contracts/holder.sol", "filename_relative": "../../contracts/holder.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/holder.sol", "filename_short": "../../contracts/holder.sol", "is_dependency": false, "lines": [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109], "starting_column": 1, "ending_column": 2}}, "signature": "burn(address,uint256)"}}}, "additional_fields": {"underlying_type": "external_calls"}}], "description": "Reentrancy in Holder.burn(address,uint256) (../../contracts/holder.sol#68-85):\n\tExternal calls:\n\t- _safeTransfer(_to,redeemableAddresses[i],redeemableAmount) (../../contracts/holder.sol#79)\n\tEvent emitted after the call(s):\n\t- CashAndBurned(_to,redeemableAddresses[i],redeemableAmount) (../../contracts/holder.sol#80)\n", "markdown": "Reentrancy in [Holder.burn(address,uint256)](../../contracts/holder.sol#L68-L85):\n\tExternal calls:\n\t- [_safeTransfer(_to,redeemableAddresses[i],redeemableAmount)](../../contracts/holder.sol#L79)\n\tEvent emitted after the call(s):\n\t- [CashAndBurned(_to,redeemableAddresses[i],redeemableAmount)](../../contracts/holder.sol#L80)\n", "id": "4883d8b5f0464e37fdee3911105f426388438b40a07ad77752f94dd83c9015d3", "check": "reentrancy-events", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "nonRedeemableTokenClaim", "source_mapping": {"start": 3964, "length": 667, "filename_used": "/contracts/tools/slither/../../contracts/holder.sol", "filename_relative": "../../contracts/holder.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/holder.sol", "filename_short": "../../contracts/holder.sol", "is_dependency": false, "lines": [90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Holder", "source_mapping": {"start": 1249, "length": 3565, "filename_used": "/contracts/tools/slither/../../contracts/holder.sol", "filename_relative": "../../contracts/holder.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/holder.sol", "filename_short": "../../contracts/holder.sol", "is_dependency": false, "lines": [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109], "starting_column": 1, "ending_column": 2}}, "signature": "nonRedeemableTokenClaim(address,address[])"}}, {"type": "node", "name": "_safeTransfer(_to,_nonRedeemableAddresses[i],claimBalance)", "source_mapping": {"start": 4441, "length": 60, "filename_used": "/contracts/tools/slither/../../contracts/holder.sol", "filename_relative": "../../contracts/holder.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/holder.sol", "filename_short": "../../contracts/holder.sol", "is_dependency": false, "lines": [96], "starting_column": 17, "ending_column": 77}, "type_specific_fields": {"parent": {"type": "function", "name": "nonRedeemableTokenClaim", "source_mapping": {"start": 3964, "length": 667, "filename_used": "/contracts/tools/slither/../../contracts/holder.sol", "filename_relative": "../../contracts/holder.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/holder.sol", "filename_short": "../../contracts/holder.sol", "is_dependency": false, "lines": [90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Holder", "source_mapping": {"start": 1249, "length": 3565, "filename_used": "/contracts/tools/slither/../../contracts/holder.sol", "filename_relative": "../../contracts/holder.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/holder.sol", "filename_short": "../../contracts/holder.sol", "is_dependency": false, "lines": [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109], "starting_column": 1, "ending_column": 2}}, "signature": "nonRedeemableTokenClaim(address,address[])"}}}, "additional_fields": {"underlying_type": "external_calls"}}], "description": "Reentrancy in Holder.nonRedeemableTokenClaim(address,address[]) (../../contracts/holder.sol#90-102):\n\tExternal calls:\n\t- _safeTransfer(_to,_nonRedeemableAddresses[i],claimBalance) (../../contracts/holder.sol#96)\n\tEvent emitted after the call(s):\n\t- Claimed(_to,_nonRedeemableAddresses[i],claimBalance) (../../contracts/holder.sol#97)\n", "markdown": "Reentrancy in [Holder.nonRedeemableTokenClaim(address,address[])](../../contracts/holder.sol#L90-L102):\n\tExternal calls:\n\t- [_safeTransfer(_to,_nonRedeemableAddresses[i],claimBalance)](../../contracts/holder.sol#L96)\n\tEvent emitted after the call(s):\n\t- [Claimed(_to,_nonRedeemableAddresses[i],claimBalance)](../../contracts/holder.sol#L97)\n", "id": "57c506c68402acae21cf8e3fa44add5ed8951c98dbce2513119f4f104634637a", "check": "reentrancy-events", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "convertToStablecoin", "source_mapping": {"start": 34426, "length": 1540, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [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], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Wallet", "source_mapping": {"start": 22334, "length": 17729, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 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, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857], "starting_column": 1, "ending_column": 2}}, "signature": "convertToStablecoin(address,uint256)"}}, {"type": "node", "name": "amountToSend = _amount.mul(rate).div(magnitude)", "source_mapping": {"start": 35317, "length": 47, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [768], "starting_column": 13, "ending_column": 60}, "type_specific_fields": {"parent": {"type": "function", "name": "convertToStablecoin", "source_mapping": {"start": 34426, "length": 1540, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [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], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Wallet", "source_mapping": {"start": 22334, "length": 17729, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 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, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857], "starting_column": 1, "ending_column": 2}}, "signature": "convertToStablecoin(address,uint256)"}}}}, {"type": "node", "name": "amountToSend.mul(stablecoinMagnitude).div(stablecoinRate)", "source_mapping": {"start": 35895, "length": 64, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [777], "starting_column": 9, "ending_column": 73}, "type_specific_fields": {"parent": {"type": "function", "name": "convertToStablecoin", "source_mapping": {"start": 34426, "length": 1540, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [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], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Wallet", "source_mapping": {"start": 22334, "length": 17729, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 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, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857], "starting_column": 1, "ending_column": 2}}, "signature": "convertToStablecoin(address,uint256)"}}}}], "description": "Wallet.convertToStablecoin(address,uint256) (../../contracts/wallet.sol#752-778) performs a multiplication on the result of a division:\n\t-amountToSend = _amount.mul(rate).div(magnitude) (../../contracts/wallet.sol#768)\n\t-amountToSend.mul(stablecoinMagnitude).div(stablecoinRate) (../../contracts/wallet.sol#777)\n", "markdown": "[Wallet.convertToStablecoin(address,uint256)](../../contracts/wallet.sol#L752-L778) performs a multiplication on the result of a division:\n\t-[amountToSend = _amount.mul(rate).div(magnitude)](../../contracts/wallet.sol#L768)\n\t-[amountToSend.mul(stablecoinMagnitude).div(stablecoinRate)](../../contracts/wallet.sol#L777)\n", "id": "9427e4fd8ac32b25bff5654b20554c8b328211491d3e5cc716ff823d44447352", "check": "divide-before-multiply", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "_tokenWhitelistNode", "source_mapping": {"start": 21797, "length": 27, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [503], "starting_column": 35, "ending_column": 62}, "type_specific_fields": {"parent": {"type": "function", "name": "_initializeLoadLimit", "source_mapping": {"start": 21767, "length": 464, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [503, 504, 505, 506, 507, 508, 509], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "LoadLimit", "source_mapping": {"start": 19681, "length": 2552, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510], "starting_column": 1, "ending_column": 2}}, "signature": "_initializeLoadLimit(bytes32)"}}}}, {"type": "variable", "name": "_tokenWhitelistNode", "source_mapping": {"start": 1132, "length": 35, "filename_used": "/contracts/tools/slither/../../contracts/internals/tokenWhitelistable.sol", "filename_relative": "../../contracts/internals/tokenWhitelistable.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/internals/tokenWhitelistable.sol", "filename_short": "../../contracts/internals/tokenWhitelistable.sol", "is_dependency": false, "lines": [29], "starting_column": 5, "ending_column": 40}, "type_specific_fields": {"parent": {"type": "contract", "name": "TokenWhitelistable", "source_mapping": {"start": 998, "length": 4648, "filename_used": "/contracts/tools/slither/../../contracts/internals/tokenWhitelistable.sol", "filename_relative": "../../contracts/internals/tokenWhitelistable.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/internals/tokenWhitelistable.sol", "filename_short": "../../contracts/internals/tokenWhitelistable.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], "starting_column": 1, "ending_column": 2}}}}], "description": "LoadLimit._initializeLoadLimit(bytes32)._tokenWhitelistNode (../../contracts/wallet.sol#503) shadows:\n\t- TokenWhitelistable._tokenWhitelistNode (../../contracts/internals/tokenWhitelistable.sol#29) (state variable)\n", "markdown": "[LoadLimit._initializeLoadLimit(bytes32)._tokenWhitelistNode](../../contracts/wallet.sol#L503) shadows:\n\t- [TokenWhitelistable._tokenWhitelistNode](../../contracts/internals/tokenWhitelistable.sol#L29) (state variable)\n", "id": "8f15cbf6d24a4b17962fde5591cd20736fc2ed8d234ab44f7ef3eab547790f4e", "check": "shadowing-local", "impact": "Low", "confidence": "High"}, {"elements": [{"type": "function", "name": "claim", "source_mapping": {"start": 13279, "length": 184, "filename_used": "/contracts/tools/slither/../../contracts/tokenWhitelist.sol", "filename_relative": "../../contracts/tokenWhitelist.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/tokenWhitelist.sol", "filename_short": "../../contracts/tokenWhitelist.sol", "is_dependency": false, "lines": [277, 278, 279, 280], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TokenWhitelist", "source_mapping": {"start": 1938, "length": 15854, "filename_used": "/contracts/tools/slither/../../contracts/tokenWhitelist.sol", "filename_relative": "../../contracts/tokenWhitelist.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/tokenWhitelist.sol", "filename_short": "../../contracts/tokenWhitelist.sol", "is_dependency": false, "lines": [49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371], "starting_column": 1, "ending_column": 2}}, "signature": "claim(address,address,uint256)"}}, {"type": "node", "name": "_safeTransfer(_to,_asset,_amount)", "source_mapping": {"start": 13377, "length": 35, "filename_used": "/contracts/tools/slither/../../contracts/tokenWhitelist.sol", "filename_relative": "../../contracts/tokenWhitelist.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/tokenWhitelist.sol", "filename_short": "../../contracts/tokenWhitelist.sol", "is_dependency": false, "lines": [278], "starting_column": 9, "ending_column": 44}, "type_specific_fields": {"parent": {"type": "function", "name": "claim", "source_mapping": {"start": 13279, "length": 184, "filename_used": "/contracts/tools/slither/../../contracts/tokenWhitelist.sol", "filename_relative": "../../contracts/tokenWhitelist.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/tokenWhitelist.sol", "filename_short": "../../contracts/tokenWhitelist.sol", "is_dependency": false, "lines": [277, 278, 279, 280], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TokenWhitelist", "source_mapping": {"start": 1938, "length": 15854, "filename_used": "/contracts/tools/slither/../../contracts/tokenWhitelist.sol", "filename_relative": "../../contracts/tokenWhitelist.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/tokenWhitelist.sol", "filename_short": "../../contracts/tokenWhitelist.sol", "is_dependency": false, "lines": [49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371], "starting_column": 1, "ending_column": 2}}, "signature": "claim(address,address,uint256)"}}}, "additional_fields": {"underlying_type": "external_calls"}}], "description": "Reentrancy in TokenWhitelist.claim(address,address,uint256) (../../contracts/tokenWhitelist.sol#277-280):\n\tExternal calls:\n\t- _safeTransfer(_to,_asset,_amount) (../../contracts/tokenWhitelist.sol#278)\n\tEvent emitted after the call(s):\n\t- Claimed(_to,_asset,_amount) (../../contracts/tokenWhitelist.sol#279)\n", "markdown": "Reentrancy in [TokenWhitelist.claim(address,address,uint256)](../../contracts/tokenWhitelist.sol#L277-L280):\n\tExternal calls:\n\t- [_safeTransfer(_to,_asset,_amount)](../../contracts/tokenWhitelist.sol#L278)\n\tEvent emitted after the call(s):\n\t- [Claimed(_to,_asset,_amount)](../../contracts/tokenWhitelist.sol#L279)\n", "id": "2ca6fdd6302454fdf9a41e8c3cc4452a5a1dbee301b2675f010d9d2966e80e75", "check": "reentrancy-events", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "executeRelayedTransaction", "source_mapping": {"start": 26519, "length": 1111, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Wallet", "source_mapping": {"start": 22334, "length": 17729, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 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, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857], "starting_column": 1, "ending_column": 2}}, "signature": "executeRelayedTransaction(uint256,bytes,bytes)"}}, {"type": "node", "name": "(success,returndata) = address(this).call(_data)", "source_mapping": {"start": 27449, "length": 67, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [614], "starting_column": 9, "ending_column": 76}, "type_specific_fields": {"parent": {"type": "function", "name": "executeRelayedTransaction", "source_mapping": {"start": 26519, "length": 1111, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Wallet", "source_mapping": {"start": 22334, "length": 17729, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 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, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857], "starting_column": 1, "ending_column": 2}}, "signature": "executeRelayedTransaction(uint256,bytes,bytes)"}}}, "additional_fields": {"underlying_type": "external_calls"}}], "description": "Reentrancy in Wallet.executeRelayedTransaction(uint256,bytes,bytes) (../../contracts/wallet.sol#599-618):\n\tExternal calls:\n\t- (success,returndata) = address(this).call(_data) (../../contracts/wallet.sol#614)\n\tEvent emitted after the call(s):\n\t- ExecutedRelayedTransaction(_data,returndata) (../../contracts/wallet.sol#617)\n", "markdown": "Reentrancy in [Wallet.executeRelayedTransaction(uint256,bytes,bytes)](../../contracts/wallet.sol#L599-L618):\n\tExternal calls:\n\t- [(success,returndata) = address(this).call(_data)](../../contracts/wallet.sol#L614)\n\tEvent emitted after the call(s):\n\t- [ExecutedRelayedTransaction(_data,returndata)](../../contracts/wallet.sol#L617)\n", "id": "112c5438d3b21ae470128028e431b55e0dc8b1fe0ce27241678cf1122edc4e27", "check": "reentrancy-events", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "executeTransaction", "source_mapping": {"start": 36226, "length": 1934, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Wallet", "source_mapping": {"start": 22334, "length": 17729, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 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, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857], "starting_column": 1, "ending_column": 2}}, "signature": "executeTransaction(address,uint256,bytes)"}}, {"type": "node", "name": "ERC20(_destination).callOptionalReturn(_data)", "source_mapping": {"start": 37535, "length": 45, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [804], "starting_column": 13, "ending_column": 58}, "type_specific_fields": {"parent": {"type": "function", "name": "executeTransaction", "source_mapping": {"start": 36226, "length": 1934, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Wallet", "source_mapping": {"start": 22334, "length": 17729, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 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, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857], "starting_column": 1, "ending_column": 2}}, "signature": "executeTransaction(address,uint256,bytes)"}}}, "additional_fields": {"underlying_type": "external_calls"}}], "description": "Reentrancy in Wallet.executeTransaction(address,uint256,bytes) (../../contracts/wallet.sol#784-820):\n\tExternal calls:\n\t- ERC20(_destination).callOptionalReturn(_data) (../../contracts/wallet.sol#804)\n\tEvent emitted after the call(s):\n\t- ExecutedTransaction(_destination,_value,_data,b) (../../contracts/wallet.sol#810)\n", "markdown": "Reentrancy in [Wallet.executeTransaction(address,uint256,bytes)](../../contracts/wallet.sol#L784-L820):\n\tExternal calls:\n\t- [ERC20(_destination).callOptionalReturn(_data)](../../contracts/wallet.sol#L804)\n\tEvent emitted after the call(s):\n\t- [ExecutedTransaction(_destination,_value,_data,b)](../../contracts/wallet.sol#L810)\n", "id": "90922d797d564ffa148dd8a01afcc923d8a2f2c9f27b82661bb31094cb90a9fe", "check": "reentrancy-events", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "executeTransaction", "source_mapping": {"start": 36226, "length": 1934, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Wallet", "source_mapping": {"start": 22334, "length": 17729, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 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, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857], "starting_column": 1, "ending_column": 2}}, "signature": "executeTransaction(address,uint256,bytes)"}}, {"type": "node", "name": "(success,returndata) = _destination.call.value(_value)(_data)", "source_mapping": {"start": 37854, "length": 80, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [814], "starting_column": 9, "ending_column": 89}, "type_specific_fields": {"parent": {"type": "function", "name": "executeTransaction", "source_mapping": {"start": 36226, "length": 1934, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Wallet", "source_mapping": {"start": 22334, "length": 17729, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 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, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857], "starting_column": 1, "ending_column": 2}}, "signature": "executeTransaction(address,uint256,bytes)"}}}, "additional_fields": {"underlying_type": "external_calls"}}], "description": "Reentrancy in Wallet.executeTransaction(address,uint256,bytes) (../../contracts/wallet.sol#784-820):\n\tExternal calls:\n\t- (success,returndata) = _destination.call.value(_value)(_data) (../../contracts/wallet.sol#814)\n\tEvent emitted after the call(s):\n\t- ExecutedTransaction(_destination,_value,_data,returndata) (../../contracts/wallet.sol#817)\n", "markdown": "Reentrancy in [Wallet.executeTransaction(address,uint256,bytes)](../../contracts/wallet.sol#L784-L820):\n\tExternal calls:\n\t- [(success,returndata) = _destination.call.value(_value)(_data)](../../contracts/wallet.sol#L814)\n\tEvent emitted after the call(s):\n\t- [ExecutedTransaction(_destination,_value,_data,returndata)](../../contracts/wallet.sol#L817)\n", "id": "1ae3f304d8052577f82d9d3898acef327ffddc3b8b02c5cc38f30bc9a52d0377", "check": "reentrancy-events", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "loadTokenCard", "source_mapping": {"start": 29390, "length": 943, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Wallet", "source_mapping": {"start": 22334, "length": 17729, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 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, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857], "starting_column": 1, "ending_column": 2}}, "signature": "loadTokenCard(address,uint256)"}}, {"type": "node", "name": "ERC20(_asset).safeApprove(licenceAddress,_amount)", "source_mapping": {"start": 30066, "length": 50, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [668], "starting_column": 13, "ending_column": 63}, "type_specific_fields": {"parent": {"type": "function", "name": "loadTokenCard", "source_mapping": {"start": 29390, "length": 943, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Wallet", "source_mapping": {"start": 22334, "length": 17729, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 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, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857], "starting_column": 1, "ending_column": 2}}, "signature": "loadTokenCard(address,uint256)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "ILicence(licenceAddress).load(_asset,_amount)", "source_mapping": {"start": 30130, "length": 46, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [669], "starting_column": 13, "ending_column": 59}, "type_specific_fields": {"parent": {"type": "function", "name": "loadTokenCard", "source_mapping": {"start": 29390, "length": 943, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Wallet", "source_mapping": {"start": 22334, "length": 17729, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 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, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857], "starting_column": 1, "ending_column": 2}}, "signature": "loadTokenCard(address,uint256)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "ILicence(licenceAddress).load.value(_amount)(_asset,_amount)", "source_mapping": {"start": 30207, "length": 61, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [671], "starting_column": 13, "ending_column": 74}, "type_specific_fields": {"parent": {"type": "function", "name": "loadTokenCard", "source_mapping": {"start": 29390, "length": 943, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Wallet", "source_mapping": {"start": 22334, "length": 17729, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 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, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857], "starting_column": 1, "ending_column": 2}}, "signature": "loadTokenCard(address,uint256)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "ILicence(licenceAddress).load.value(_amount)(_asset,_amount)", "source_mapping": {"start": 30207, "length": 61, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [671], "starting_column": 13, "ending_column": 74}, "type_specific_fields": {"parent": {"type": "function", "name": "loadTokenCard", "source_mapping": {"start": 29390, "length": 943, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Wallet", "source_mapping": {"start": 22334, "length": 17729, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 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, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857], "starting_column": 1, "ending_column": 2}}, "signature": "loadTokenCard(address,uint256)"}}}, "additional_fields": {"underlying_type": "external_calls_sending_eth"}}], "description": "Reentrancy in Wallet.loadTokenCard(address,uint256) (../../contracts/wallet.sol#658-675):\n\tExternal calls:\n\t- ERC20(_asset).safeApprove(licenceAddress,_amount) (../../contracts/wallet.sol#668)\n\t- ILicence(licenceAddress).load(_asset,_amount) (../../contracts/wallet.sol#669)\n\t- ILicence(licenceAddress).load.value(_amount)(_asset,_amount) (../../contracts/wallet.sol#671)\n\tExternal calls sending eth:\n\t- ILicence(licenceAddress).load.value(_amount)(_asset,_amount) (../../contracts/wallet.sol#671)\n\tEvent emitted after the call(s):\n\t- LoadedTokenCard(_asset,_amount) (../../contracts/wallet.sol#674)\n", "markdown": "Reentrancy in [Wallet.loadTokenCard(address,uint256)](../../contracts/wallet.sol#L658-L675):\n\tExternal calls:\n\t- [ERC20(_asset).safeApprove(licenceAddress,_amount)](../../contracts/wallet.sol#L668)\n\t- [ILicence(licenceAddress).load(_asset,_amount)](../../contracts/wallet.sol#L669)\n\t- [ILicence(licenceAddress).load.value(_amount)(_asset,_amount)](../../contracts/wallet.sol#L671)\n\tExternal calls sending eth:\n\t- [ILicence(licenceAddress).load.value(_amount)(_asset,_amount)](../../contracts/wallet.sol#L671)\n\tEvent emitted after the call(s):\n\t- [LoadedTokenCard(_asset,_amount)](../../contracts/wallet.sol#L674)\n", "id": "32a5001c60ea652a4680686ea61a7e6e110e48a9a1e1faba88e96733c4931e27", "check": "reentrancy-events", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "transfer", "source_mapping": {"start": 38964, "length": 1097, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Wallet", "source_mapping": {"start": 22334, "length": 17729, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 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, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857], "starting_column": 1, "ending_column": 2}}, "signature": "transfer(address,address,uint256)"}}, {"type": "node", "name": "_safeTransfer(_to,_asset,_amount)", "source_mapping": {"start": 39935, "length": 35, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [853], "starting_column": 9, "ending_column": 44}, "type_specific_fields": {"parent": {"type": "function", "name": "transfer", "source_mapping": {"start": 38964, "length": 1097, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Wallet", "source_mapping": {"start": 22334, "length": 17729, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 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, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857], "starting_column": 1, "ending_column": 2}}, "signature": "transfer(address,address,uint256)"}}}, "additional_fields": {"underlying_type": "external_calls"}}], "description": "Reentrancy in Wallet.transfer(address,address,uint256) (../../contracts/wallet.sol#836-856):\n\tExternal calls:\n\t- _safeTransfer(_to,_asset,_amount) (../../contracts/wallet.sol#853)\n\tEvent emitted after the call(s):\n\t- Transferred(_to,_asset,_amount) (../../contracts/wallet.sol#855)\n", "markdown": "Reentrancy in [Wallet.transfer(address,address,uint256)](../../contracts/wallet.sol#L836-L856):\n\tExternal calls:\n\t- [_safeTransfer(_to,_asset,_amount)](../../contracts/wallet.sol#L853)\n\tEvent emitted after the call(s):\n\t- [Transferred(_to,_asset,_amount)](../../contracts/wallet.sol#L855)\n", "id": "aac85d47c8d408d9a538125346dbc9950619776bd96e62f1f93385989c8b065b", "check": "reentrancy-events", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "topUpGas", "source_mapping": {"start": 30715, "length": 425, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [684, 685, 686, 687, 688, 689, 690, 691], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Wallet", "source_mapping": {"start": 22334, "length": 17729, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 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, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857], "starting_column": 1, "ending_column": 2}}, "signature": "topUpGas(uint256)"}}, {"type": "node", "name": "owner().transfer(_amount)", "source_mapping": {"start": 31014, "length": 25, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [688], "starting_column": 9, "ending_column": 34}, "type_specific_fields": {"parent": {"type": "function", "name": "topUpGas", "source_mapping": {"start": 30715, "length": 425, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [684, 685, 686, 687, 688, 689, 690, 691], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Wallet", "source_mapping": {"start": 22334, "length": 17729, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 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, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857], "starting_column": 1, "ending_column": 2}}, "signature": "topUpGas(uint256)"}}}, "additional_fields": {"underlying_type": "external_calls"}}], "description": "Reentrancy in Wallet.topUpGas(uint256) (../../contracts/wallet.sol#684-691):\n\tExternal calls:\n\t- owner().transfer(_amount) (../../contracts/wallet.sol#688)\n\tEvent emitted after the call(s):\n\t- ToppedUpGas(msg.sender,owner(),_amount) (../../contracts/wallet.sol#690)\n", "markdown": "Reentrancy in [Wallet.topUpGas(uint256)](../../contracts/wallet.sol#L684-L691):\n\tExternal calls:\n\t- [owner().transfer(_amount)](../../contracts/wallet.sol#L688)\n\tEvent emitted after the call(s):\n\t- [ToppedUpGas(msg.sender,owner(),_amount)](../../contracts/wallet.sol#L690)\n", "id": "136c6d6739199960ae0bf308fce78ecb212a08fa6e6c014bcbd923c4f0015046", "check": "reentrancy-unlimited-gas", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "batchExecuteTransaction", "source_mapping": {"start": 31472, "length": 2016, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [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], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Wallet", "source_mapping": {"start": 22334, "length": 17729, "filename_used": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_relative": "../../contracts/wallet.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/wallet.sol", "filename_short": "../../contracts/wallet.sol", "is_dependency": false, "lines": [514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 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, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857], "starting_column": 1, "ending_column": 2}}, "signature": "batchExecuteTransaction(bytes)"}}], "description": "batchExecuteTransaction(bytes) should be declared external:\n\t- Wallet.batchExecuteTransaction(bytes) (../../contracts/wallet.sol#697-732)\n", "markdown": "batchExecuteTransaction(bytes) should be declared external:\n\t- [Wallet.batchExecuteTransaction(bytes)](../../contracts/wallet.sol#L697-L732)\n", "id": "25be393b22a852005aebc844d44187435f0cfff81e7632ced668dd912f0e2261", "check": "external-function", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "function", "name": "load", "source_mapping": {"start": 8283, "length": 1087, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.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": "Licence", "source_mapping": {"start": 1380, "length": 8966, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.sol", "is_dependency": false, "lines": [38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250], "starting_column": 1, "ending_column": 2}}, "signature": "load(address,uint256)"}}, {"type": "node", "name": "_tokenHolder.transfer(licenceAmount)", "source_mapping": {"start": 9073, "length": 36, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.sol", "is_dependency": false, "lines": [215], "starting_column": 17, "ending_column": 53}, "type_specific_fields": {"parent": {"type": "function", "name": "load", "source_mapping": {"start": 8283, "length": 1087, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.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": "Licence", "source_mapping": {"start": 1380, "length": 8966, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.sol", "is_dependency": false, "lines": [38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250], "starting_column": 1, "ending_column": 2}}, "signature": "load(address,uint256)"}}}}, {"type": "node", "name": "_cryptoFloat.transfer(loadAmount)", "source_mapping": {"start": 9127, "length": 33, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.sol", "is_dependency": false, "lines": [216], "starting_column": 17, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "function", "name": "load", "source_mapping": {"start": 8283, "length": 1087, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.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": "Licence", "source_mapping": {"start": 1380, "length": 8966, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.sol", "is_dependency": false, "lines": [38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250], "starting_column": 1, "ending_column": 2}}, "signature": "load(address,uint256)"}}}}], "description": "Licence.load(address,uint256) (../../contracts/licence.sol#201-223) sends eth to arbitrary user\n\tDangerous calls:\n\t- _tokenHolder.transfer(licenceAmount) (../../contracts/licence.sol#215)\n\t- _cryptoFloat.transfer(loadAmount) (../../contracts/licence.sol#216)\n", "markdown": "[Licence.load(address,uint256)](../../contracts/licence.sol#L201-L223) sends eth to arbitrary user\n\tDangerous calls:\n\t- [_tokenHolder.transfer(licenceAmount)](../../contracts/licence.sol#L215)\n\t- [_cryptoFloat.transfer(loadAmount)](../../contracts/licence.sol#L216)\n", "id": "77a1d9fb3657ae0373a1ee2191c5fba1c04170d16f4a8c073a174eedb2b6bc4b", "check": "arbitrary-send", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "claim", "source_mapping": {"start": 7038, "length": 195, "filename_used": "/contracts/tools/slither/../../contracts/controller.sol", "filename_relative": "../../contracts/controller.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/controller.sol", "filename_short": "../../contracts/controller.sol", "is_dependency": false, "lines": [186, 187, 188, 189], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Controller", "source_mapping": {"start": 1459, "length": 5776, "filename_used": "/contracts/tools/slither/../../contracts/controller.sol", "filename_relative": "../../contracts/controller.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/controller.sol", "filename_short": "../../contracts/controller.sol", "is_dependency": false, "lines": [38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 2}}, "signature": "claim(address,address,uint256)"}}, {"type": "node", "name": "_safeTransfer(_to,_asset,_amount)", "source_mapping": {"start": 7147, "length": 35, "filename_used": "/contracts/tools/slither/../../contracts/controller.sol", "filename_relative": "../../contracts/controller.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/controller.sol", "filename_short": "../../contracts/controller.sol", "is_dependency": false, "lines": [187], "starting_column": 9, "ending_column": 44}, "type_specific_fields": {"parent": {"type": "function", "name": "claim", "source_mapping": {"start": 7038, "length": 195, "filename_used": "/contracts/tools/slither/../../contracts/controller.sol", "filename_relative": "../../contracts/controller.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/controller.sol", "filename_short": "../../contracts/controller.sol", "is_dependency": false, "lines": [186, 187, 188, 189], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Controller", "source_mapping": {"start": 1459, "length": 5776, "filename_used": "/contracts/tools/slither/../../contracts/controller.sol", "filename_relative": "../../contracts/controller.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/controller.sol", "filename_short": "../../contracts/controller.sol", "is_dependency": false, "lines": [38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 2}}, "signature": "claim(address,address,uint256)"}}}, "additional_fields": {"underlying_type": "external_calls"}}], "description": "Reentrancy in Controller.claim(address,address,uint256) (../../contracts/controller.sol#186-189):\n\tExternal calls:\n\t- _safeTransfer(_to,_asset,_amount) (../../contracts/controller.sol#187)\n\tEvent emitted after the call(s):\n\t- Claimed(_to,_asset,_amount) (../../contracts/controller.sol#188)\n", "markdown": "Reentrancy in [Controller.claim(address,address,uint256)](../../contracts/controller.sol#L186-L189):\n\tExternal calls:\n\t- [_safeTransfer(_to,_asset,_amount)](../../contracts/controller.sol#L187)\n\tEvent emitted after the call(s):\n\t- [Claimed(_to,_asset,_amount)](../../contracts/controller.sol#L188)\n", "id": "ce3e7f890cf7bca36bbe00a4feab6c3793439951e10b882b9c576ec85c6b47d8", "check": "reentrancy-events", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "claim", "source_mapping": {"start": 9459, "length": 184, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.sol", "is_dependency": false, "lines": [226, 227, 228, 229], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Licence", "source_mapping": {"start": 1380, "length": 8966, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.sol", "is_dependency": false, "lines": [38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250], "starting_column": 1, "ending_column": 2}}, "signature": "claim(address,address,uint256)"}}, {"type": "node", "name": "_safeTransfer(_to,_asset,_amount)", "source_mapping": {"start": 9557, "length": 35, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.sol", "is_dependency": false, "lines": [227], "starting_column": 9, "ending_column": 44}, "type_specific_fields": {"parent": {"type": "function", "name": "claim", "source_mapping": {"start": 9459, "length": 184, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.sol", "is_dependency": false, "lines": [226, 227, 228, 229], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Licence", "source_mapping": {"start": 1380, "length": 8966, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.sol", "is_dependency": false, "lines": [38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250], "starting_column": 1, "ending_column": 2}}, "signature": "claim(address,address,uint256)"}}}, "additional_fields": {"underlying_type": "external_calls"}}], "description": "Reentrancy in Licence.claim(address,address,uint256) (../../contracts/licence.sol#226-229):\n\tExternal calls:\n\t- _safeTransfer(_to,_asset,_amount) (../../contracts/licence.sol#227)\n\tEvent emitted after the call(s):\n\t- Claimed(_to,_asset,_amount) (../../contracts/licence.sol#228)\n", "markdown": "Reentrancy in [Licence.claim(address,address,uint256)](../../contracts/licence.sol#L226-L229):\n\tExternal calls:\n\t- [_safeTransfer(_to,_asset,_amount)](../../contracts/licence.sol#L227)\n\tEvent emitted after the call(s):\n\t- [Claimed(_to,_asset,_amount)](../../contracts/licence.sol#L228)\n", "id": "fdf2fa6addf7bef04edc254acc324db73f2332629d733ef61923875a75322877", "check": "reentrancy-events", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "load", "source_mapping": {"start": 8283, "length": 1087, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.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": "Licence", "source_mapping": {"start": 1380, "length": 8966, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.sol", "is_dependency": false, "lines": [38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250], "starting_column": 1, "ending_column": 2}}, "signature": "load(address,uint256)"}}, {"type": "node", "name": "ERC20(_asset).safeTransferFrom(msg.sender,_tokenHolder,licenceAmount)", "source_mapping": {"start": 8795, "length": 71, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.sol", "is_dependency": false, "lines": [211], "starting_column": 17, "ending_column": 88}, "type_specific_fields": {"parent": {"type": "function", "name": "load", "source_mapping": {"start": 8283, "length": 1087, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.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": "Licence", "source_mapping": {"start": 1380, "length": 8966, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.sol", "is_dependency": false, "lines": [38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250], "starting_column": 1, "ending_column": 2}}, "signature": "load(address,uint256)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "ERC20(_asset).safeTransferFrom(msg.sender,_cryptoFloat,loadAmount)", "source_mapping": {"start": 8884, "length": 68, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.sol", "is_dependency": false, "lines": [212], "starting_column": 17, "ending_column": 85}, "type_specific_fields": {"parent": {"type": "function", "name": "load", "source_mapping": {"start": 8283, "length": 1087, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.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": "Licence", "source_mapping": {"start": 1380, "length": 8966, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.sol", "is_dependency": false, "lines": [38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250], "starting_column": 1, "ending_column": 2}}, "signature": "load(address,uint256)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "_tokenHolder.transfer(licenceAmount)", "source_mapping": {"start": 9073, "length": 36, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.sol", "is_dependency": false, "lines": [215], "starting_column": 17, "ending_column": 53}, "type_specific_fields": {"parent": {"type": "function", "name": "load", "source_mapping": {"start": 8283, "length": 1087, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.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": "Licence", "source_mapping": {"start": 1380, "length": 8966, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.sol", "is_dependency": false, "lines": [38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250], "starting_column": 1, "ending_column": 2}}, "signature": "load(address,uint256)"}}}, "additional_fields": {"underlying_type": "external_calls_sending_eth"}}, {"type": "node", "name": "_cryptoFloat.transfer(loadAmount)", "source_mapping": {"start": 9127, "length": 33, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.sol", "is_dependency": false, "lines": [216], "starting_column": 17, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "function", "name": "load", "source_mapping": {"start": 8283, "length": 1087, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.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": "Licence", "source_mapping": {"start": 1380, "length": 8966, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.sol", "is_dependency": false, "lines": [38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250], "starting_column": 1, "ending_column": 2}}, "signature": "load(address,uint256)"}}}, "additional_fields": {"underlying_type": "external_calls_sending_eth"}}], "description": "Reentrancy in Licence.load(address,uint256) (../../contracts/licence.sol#201-223):\n\tExternal calls:\n\t- ERC20(_asset).safeTransferFrom(msg.sender,_tokenHolder,licenceAmount) (../../contracts/licence.sol#211)\n\t- ERC20(_asset).safeTransferFrom(msg.sender,_cryptoFloat,loadAmount) (../../contracts/licence.sol#212)\n\tExternal calls sending eth:\n\t- _tokenHolder.transfer(licenceAmount) (../../contracts/licence.sol#215)\n\t- _cryptoFloat.transfer(loadAmount) (../../contracts/licence.sol#216)\n\tEvent emitted after the call(s):\n\t- TransferredToTokenHolder(msg.sender,_tokenHolder,_asset,licenceAmount) (../../contracts/licence.sol#219)\n", "markdown": "Reentrancy in [Licence.load(address,uint256)](../../contracts/licence.sol#L201-L223):\n\tExternal calls:\n\t- [ERC20(_asset).safeTransferFrom(msg.sender,_tokenHolder,licenceAmount)](../../contracts/licence.sol#L211)\n\t- [ERC20(_asset).safeTransferFrom(msg.sender,_cryptoFloat,loadAmount)](../../contracts/licence.sol#L212)\n\tExternal calls sending eth:\n\t- [_tokenHolder.transfer(licenceAmount)](../../contracts/licence.sol#L215)\n\t- [_cryptoFloat.transfer(loadAmount)](../../contracts/licence.sol#L216)\n\tEvent emitted after the call(s):\n\t- [TransferredToTokenHolder(msg.sender,_tokenHolder,_asset,licenceAmount)](../../contracts/licence.sol#L219)\n", "id": "28ebff565ba397e67049a43ee60fda046211b31c5ab61b7ccbe89ddf6bbc5224", "check": "reentrancy-events", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "load", "source_mapping": {"start": 8283, "length": 1087, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.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": "Licence", "source_mapping": {"start": 1380, "length": 8966, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.sol", "is_dependency": false, "lines": [38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250], "starting_column": 1, "ending_column": 2}}, "signature": "load(address,uint256)"}}, {"type": "node", "name": "ERC20(_asset).safeTransferFrom(msg.sender,_cryptoFloat,loadAmount)", "source_mapping": {"start": 8489, "length": 68, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.sol", "is_dependency": false, "lines": [205], "starting_column": 13, "ending_column": 81}, "type_specific_fields": {"parent": {"type": "function", "name": "load", "source_mapping": {"start": 8283, "length": 1087, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.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": "Licence", "source_mapping": {"start": 1380, "length": 8966, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.sol", "is_dependency": false, "lines": [38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250], "starting_column": 1, "ending_column": 2}}, "signature": "load(address,uint256)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "ERC20(_asset).safeTransferFrom(msg.sender,_tokenHolder,licenceAmount)", "source_mapping": {"start": 8795, "length": 71, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.sol", "is_dependency": false, "lines": [211], "starting_column": 17, "ending_column": 88}, "type_specific_fields": {"parent": {"type": "function", "name": "load", "source_mapping": {"start": 8283, "length": 1087, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.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": "Licence", "source_mapping": {"start": 1380, "length": 8966, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.sol", "is_dependency": false, "lines": [38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250], "starting_column": 1, "ending_column": 2}}, "signature": "load(address,uint256)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "ERC20(_asset).safeTransferFrom(msg.sender,_cryptoFloat,loadAmount)", "source_mapping": {"start": 8884, "length": 68, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.sol", "is_dependency": false, "lines": [212], "starting_column": 17, "ending_column": 85}, "type_specific_fields": {"parent": {"type": "function", "name": "load", "source_mapping": {"start": 8283, "length": 1087, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.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": "Licence", "source_mapping": {"start": 1380, "length": 8966, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.sol", "is_dependency": false, "lines": [38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250], "starting_column": 1, "ending_column": 2}}, "signature": "load(address,uint256)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "_tokenHolder.transfer(licenceAmount)", "source_mapping": {"start": 9073, "length": 36, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.sol", "is_dependency": false, "lines": [215], "starting_column": 17, "ending_column": 53}, "type_specific_fields": {"parent": {"type": "function", "name": "load", "source_mapping": {"start": 8283, "length": 1087, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.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": "Licence", "source_mapping": {"start": 1380, "length": 8966, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.sol", "is_dependency": false, "lines": [38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250], "starting_column": 1, "ending_column": 2}}, "signature": "load(address,uint256)"}}}, "additional_fields": {"underlying_type": "external_calls_sending_eth"}}, {"type": "node", "name": "_cryptoFloat.transfer(loadAmount)", "source_mapping": {"start": 9127, "length": 33, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.sol", "is_dependency": false, "lines": [216], "starting_column": 17, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "function", "name": "load", "source_mapping": {"start": 8283, "length": 1087, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.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": "Licence", "source_mapping": {"start": 1380, "length": 8966, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.sol", "is_dependency": false, "lines": [38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250], "starting_column": 1, "ending_column": 2}}, "signature": "load(address,uint256)"}}}, "additional_fields": {"underlying_type": "external_calls_sending_eth"}}], "description": "Reentrancy in Licence.load(address,uint256) (../../contracts/licence.sol#201-223):\n\tExternal calls:\n\t- ERC20(_asset).safeTransferFrom(msg.sender,_cryptoFloat,loadAmount) (../../contracts/licence.sol#205)\n\t- ERC20(_asset).safeTransferFrom(msg.sender,_tokenHolder,licenceAmount) (../../contracts/licence.sol#211)\n\t- ERC20(_asset).safeTransferFrom(msg.sender,_cryptoFloat,loadAmount) (../../contracts/licence.sol#212)\n\tExternal calls sending eth:\n\t- _tokenHolder.transfer(licenceAmount) (../../contracts/licence.sol#215)\n\t- _cryptoFloat.transfer(loadAmount) (../../contracts/licence.sol#216)\n\tEvent emitted after the call(s):\n\t- TransferredToCryptoFloat(msg.sender,_cryptoFloat,_asset,loadAmount) (../../contracts/licence.sol#222)\n", "markdown": "Reentrancy in [Licence.load(address,uint256)](../../contracts/licence.sol#L201-L223):\n\tExternal calls:\n\t- [ERC20(_asset).safeTransferFrom(msg.sender,_cryptoFloat,loadAmount)](../../contracts/licence.sol#L205)\n\t- [ERC20(_asset).safeTransferFrom(msg.sender,_tokenHolder,licenceAmount)](../../contracts/licence.sol#L211)\n\t- [ERC20(_asset).safeTransferFrom(msg.sender,_cryptoFloat,loadAmount)](../../contracts/licence.sol#L212)\n\tExternal calls sending eth:\n\t- [_tokenHolder.transfer(licenceAmount)](../../contracts/licence.sol#L215)\n\t- [_cryptoFloat.transfer(loadAmount)](../../contracts/licence.sol#L216)\n\tEvent emitted after the call(s):\n\t- [TransferredToCryptoFloat(msg.sender,_cryptoFloat,_asset,loadAmount)](../../contracts/licence.sol#L222)\n", "id": "8e611627c7652f109a6f7e6ff68b283f6b4f2cc70302d7daadca9664108f8cef", "check": "reentrancy-events", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "load", "source_mapping": {"start": 8283, "length": 1087, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.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": "Licence", "source_mapping": {"start": 1380, "length": 8966, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.sol", "is_dependency": false, "lines": [38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250], "starting_column": 1, "ending_column": 2}}, "signature": "load(address,uint256)"}}, {"type": "node", "name": "_tokenHolder.transfer(licenceAmount)", "source_mapping": {"start": 9073, "length": 36, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.sol", "is_dependency": false, "lines": [215], "starting_column": 17, "ending_column": 53}, "type_specific_fields": {"parent": {"type": "function", "name": "load", "source_mapping": {"start": 8283, "length": 1087, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.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": "Licence", "source_mapping": {"start": 1380, "length": 8966, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.sol", "is_dependency": false, "lines": [38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250], "starting_column": 1, "ending_column": 2}}, "signature": "load(address,uint256)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "_cryptoFloat.transfer(loadAmount)", "source_mapping": {"start": 9127, "length": 33, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.sol", "is_dependency": false, "lines": [216], "starting_column": 17, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "function", "name": "load", "source_mapping": {"start": 8283, "length": 1087, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.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": "Licence", "source_mapping": {"start": 1380, "length": 8966, "filename_used": "/contracts/tools/slither/../../contracts/licence.sol", "filename_relative": "../../contracts/licence.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/licence.sol", "filename_short": "../../contracts/licence.sol", "is_dependency": false, "lines": [38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250], "starting_column": 1, "ending_column": 2}}, "signature": "load(address,uint256)"}}}, "additional_fields": {"underlying_type": "external_calls"}}], "description": "Reentrancy in Licence.load(address,uint256) (../../contracts/licence.sol#201-223):\n\tExternal calls:\n\t- _tokenHolder.transfer(licenceAmount) (../../contracts/licence.sol#215)\n\t- _cryptoFloat.transfer(loadAmount) (../../contracts/licence.sol#216)\n\tEvent emitted after the call(s):\n\t- TransferredToTokenHolder(msg.sender,_tokenHolder,_asset,licenceAmount) (../../contracts/licence.sol#219)\n\t- TransferredToCryptoFloat(msg.sender,_cryptoFloat,_asset,loadAmount) (../../contracts/licence.sol#222)\n", "markdown": "Reentrancy in [Licence.load(address,uint256)](../../contracts/licence.sol#L201-L223):\n\tExternal calls:\n\t- [_tokenHolder.transfer(licenceAmount)](../../contracts/licence.sol#L215)\n\t- [_cryptoFloat.transfer(loadAmount)](../../contracts/licence.sol#L216)\n\tEvent emitted after the call(s):\n\t- [TransferredToTokenHolder(msg.sender,_tokenHolder,_asset,licenceAmount)](../../contracts/licence.sol#L219)\n\t- [TransferredToCryptoFloat(msg.sender,_cryptoFloat,_asset,loadAmount)](../../contracts/licence.sol#L222)\n", "id": "a30148aae0f13c5bced5d249c6284bb19c3ef27d698547440c3a3058773e258b", "check": "reentrancy-unlimited-gas", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "controllerNode", "source_mapping": {"start": 1778, "length": 95, "filename_used": "/contracts/tools/slither/../../contracts/internals/controllable.sol", "filename_relative": "../../contracts/internals/controllable.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/internals/controllable.sol", "filename_short": "../../contracts/internals/controllable.sol", "is_dependency": false, "lines": [48, 49, 50], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Controllable", "source_mapping": {"start": 995, "length": 1770, "filename_used": "/contracts/tools/slither/../../contracts/internals/controllable.sol", "filename_relative": "../../contracts/internals/controllable.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/internals/controllable.sol", "filename_short": "../../contracts/internals/controllable.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], "starting_column": 1, "ending_column": 2}}, "signature": "controllerNode()"}}], "description": "controllerNode() should be declared external:\n\t- Controllable.controllerNode() (../../contracts/internals/controllable.sol#48-50)\n", "markdown": "controllerNode() should be declared external:\n\t- [Controllable.controllerNode()](../../contracts/internals/controllable.sol#L48-L50)\n", "id": "d13a5d67fbaa6821edc17da5f446b38ce126b2b8abcbc3c21b79428186db1d29", "check": "external-function", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "function", "name": "owner", "source_mapping": {"start": 3508, "length": 85, "filename_used": "/contracts/tools/slither/../../contracts/internals/ownable.sol", "filename_relative": "../../contracts/internals/ownable.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/internals/ownable.sol", "filename_short": "../../contracts/internals/ownable.sol", "is_dependency": false, "lines": [81, 82, 83], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Ownable", "source_mapping": {"start": 1190, "length": 3110, "filename_used": "/contracts/tools/slither/../../contracts/internals/ownable.sol", "filename_relative": "../../contracts/internals/ownable.sol", "filename_absolute": "/contracts/tools/slither/../../contracts/internals/ownable.sol", "filename_short": "../../contracts/internals/ownable.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101], "starting_column": 1, "ending_column": 2}}, "signature": "owner()"}}], "description": "owner() should be declared external:\n\t- Ownable.owner() (../../contracts/internals/ownable.sol#81-83)\n", "markdown": "owner() should be declared external:\n\t- [Ownable.owner()](../../contracts/internals/ownable.sol#L81-L83)\n", "id": "698811821ed34357d834c197b976565a1354eaff150bcbc8a352f2d8c7df57f3", "check": "external-function", "impact": "Optimization", "confidence": "High"}] \ No newline at end of file