def leveldb_search(config: MythrilConfig, args: argparse.Namespace): if args.search or args.contract_hash_to_address: leveldb_searcher = MythrilLevelDB(config.eth_db) if args.search: # Database search ops leveldb_searcher.search_db(args.search) else: # search corresponding address try: leveldb_searcher.contract_hash_to_address(args.contract_hash_to_address) except AddressNotFoundError: print("Address not found.") sys.exit()
def leveldb_search(config: MythrilConfig, args: Namespace): """ Handle leveldb search :param config: :param args: :return: """ if args.command in ("hash-to-address", "leveldb-search"): leveldb_searcher = MythrilLevelDB(config.eth_db) if args.command == "leveldb-search": # Database search ops leveldb_searcher.search_db(args.search) else: # search corresponding address try: leveldb_searcher.contract_hash_to_address(args.hash) except AddressNotFoundError: print("Address not found.") sys.exit()
def test_leveldb_code_search(mock_leveldb, f1, f2, f3): config = MythrilConfig() config.set_api_leveldb("some path") leveldb_search = MythrilLevelDB(leveldb=config.eth_db) leveldb_search.search_db("code#PUSH#") mock_leveldb.assert_called()