#
tokens: 49362/50000 34/1140 files (page 3/94)
lines: off (toggle) GitHub
raw markdown copy
This is page 3 of 94. Use http://codebase.md/cyfrin/aderyn?page={x} to view the full context.

# Directory Structure

```
├── .cargo
│   └── config.toml
├── .git-blame-ignore-revs
├── .gitattributes
├── .github
│   ├── images
│   │   ├── aderyn_logo.png
│   │   ├── poweredbycyfrinblack.png
│   │   └── poweredbycyfrinblue.png
│   ├── ISSUE_TEMPLATE
│   │   ├── bug_report.md
│   │   ├── false_positive_issue.md
│   │   └── feature_request.md
│   └── workflows
│       ├── cargo.yml
│       ├── dependencies.yml
│       ├── release.yml
│       ├── reports.yml
│       └── toml.yml
├── .gitignore
├── .gitmodules
├── .vscode
│   └── settings.json
├── aderyn
│   ├── Cargo.toml
│   ├── oranda.json
│   ├── README.md
│   ├── src
│   │   ├── birdsong.rs
│   │   ├── completions.rs
│   │   ├── lib.rs
│   │   ├── lsp.rs
│   │   ├── main.rs
│   │   ├── mcp.rs
│   │   └── panic.rs
│   └── templates
│       └── aderyn.toml
├── aderyn_core
│   ├── .gitignore
│   ├── Cargo.toml
│   ├── README.md
│   ├── src
│   │   ├── ast
│   │   │   ├── ast_nodes.rs
│   │   │   ├── ast.rs
│   │   │   ├── impls
│   │   │   │   ├── ctx
│   │   │   │   │   ├── utils.rs
│   │   │   │   │   └── workspace.rs
│   │   │   │   ├── ctx.rs
│   │   │   │   ├── disp
│   │   │   │   │   ├── blocks.rs
│   │   │   │   │   ├── contracts.rs
│   │   │   │   │   ├── enumerations.rs
│   │   │   │   │   ├── errors.rs
│   │   │   │   │   ├── events.rs
│   │   │   │   │   ├── expressions.rs
│   │   │   │   │   ├── functions.rs
│   │   │   │   │   ├── identifiers.rs
│   │   │   │   │   ├── literals.rs
│   │   │   │   │   ├── modifiers.rs
│   │   │   │   │   ├── statements.rs
│   │   │   │   │   ├── structures.rs
│   │   │   │   │   ├── types.rs
│   │   │   │   │   ├── user_defined_value_types.rs
│   │   │   │   │   ├── using_for_directives.rs
│   │   │   │   │   └── variables.rs
│   │   │   │   ├── disp.rs
│   │   │   │   ├── node
│   │   │   │   │   ├── blocks.rs
│   │   │   │   │   ├── contracts.rs
│   │   │   │   │   ├── documentation.rs
│   │   │   │   │   ├── enumerations.rs
│   │   │   │   │   ├── errors.rs
│   │   │   │   │   ├── events.rs
│   │   │   │   │   ├── expressions.rs
│   │   │   │   │   ├── functions.rs
│   │   │   │   │   ├── identifiers.rs
│   │   │   │   │   ├── import_directives.rs
│   │   │   │   │   ├── literals.rs
│   │   │   │   │   ├── modifiers.rs
│   │   │   │   │   ├── pragma_directives.rs
│   │   │   │   │   ├── source_units.rs
│   │   │   │   │   ├── statements.rs
│   │   │   │   │   ├── structures.rs
│   │   │   │   │   ├── types.rs
│   │   │   │   │   ├── user_defined_value_types.rs
│   │   │   │   │   ├── using_for_directives.rs
│   │   │   │   │   └── variables.rs
│   │   │   │   ├── node.rs
│   │   │   │   ├── own
│   │   │   │   │   ├── hashing.rs
│   │   │   │   │   ├── node_id.rs
│   │   │   │   │   ├── source_units.rs
│   │   │   │   │   └── utils.rs
│   │   │   │   └── own.rs
│   │   │   ├── impls.rs
│   │   │   ├── macros.rs
│   │   │   ├── magic.rs
│   │   │   ├── node_type.rs
│   │   │   └── yul.rs
│   │   ├── ast.rs
│   │   ├── audit
│   │   │   ├── attack_surface.rs
│   │   │   ├── auditor.rs
│   │   │   ├── entrypoint.rs
│   │   │   └── public_functions_no_sender.rs
│   │   ├── audit.rs
│   │   ├── context
│   │   │   ├── browser
│   │   │   │   ├── ancestral_line.rs
│   │   │   │   ├── closest_ancestor.rs
│   │   │   │   ├── external_calls.rs
│   │   │   │   ├── extractor.rs
│   │   │   │   ├── immediate_children.rs
│   │   │   │   ├── location.rs
│   │   │   │   ├── macros.rs
│   │   │   │   ├── parent.rs
│   │   │   │   ├── peek_over.rs
│   │   │   │   ├── peek_under.rs
│   │   │   │   ├── peek.rs
│   │   │   │   ├── siblings.rs
│   │   │   │   ├── sort_nodes.rs
│   │   │   │   └── storage_vars.rs
│   │   │   ├── browser.rs
│   │   │   ├── capturable.rs
│   │   │   ├── flow
│   │   │   │   ├── display.rs
│   │   │   │   ├── error.rs
│   │   │   │   ├── kind.rs
│   │   │   │   ├── primitives.rs
│   │   │   │   ├── reducibles.rs
│   │   │   │   ├── tests.rs
│   │   │   │   ├── utils.rs
│   │   │   │   ├── visualizer.rs
│   │   │   │   └── voids.rs
│   │   │   ├── flow.rs
│   │   │   ├── graph
│   │   │   │   ├── callgraph
│   │   │   │   │   ├── legacy.rs
│   │   │   │   │   ├── new.rs
│   │   │   │   │   ├── tests.rs
│   │   │   │   │   ├── utils.rs
│   │   │   │   │   └── visit.rs
│   │   │   │   ├── callgraph.rs
│   │   │   │   ├── preprocess
│   │   │   │   │   ├── legacy.rs
│   │   │   │   │   └── new.rs
│   │   │   │   ├── preprocess.rs
│   │   │   │   ├── traits.rs
│   │   │   │   └── utils.rs
│   │   │   ├── graph.rs
│   │   │   ├── macros.rs
│   │   │   ├── mcp
│   │   │   │   ├── callgraph
│   │   │   │   │   ├── render.rs
│   │   │   │   │   ├── tool.rs
│   │   │   │   │   └── utils.rs
│   │   │   │   ├── callgraph.rs
│   │   │   │   ├── contract_surface
│   │   │   │   │   ├── render.rs
│   │   │   │   │   ├── tool.rs
│   │   │   │   │   └── util.rs
│   │   │   │   ├── contract_surface.rs
│   │   │   │   ├── list_contracts
│   │   │   │   │   ├── render.rs
│   │   │   │   │   └── tool.rs
│   │   │   │   ├── list_contracts.rs
│   │   │   │   ├── node_finder
│   │   │   │   │   ├── render.rs
│   │   │   │   │   ├── tool.rs
│   │   │   │   │   └── utils.rs
│   │   │   │   ├── node_finder.rs
│   │   │   │   ├── node_summarizer
│   │   │   │   │   ├── render.rs
│   │   │   │   │   ├── tool.rs
│   │   │   │   │   └── utils.rs
│   │   │   │   ├── node_summarizer.rs
│   │   │   │   ├── project_overview
│   │   │   │   │   ├── render.rs
│   │   │   │   │   └── tool.rs
│   │   │   │   ├── project_overview.rs
│   │   │   │   ├── tool_guide
│   │   │   │   │   └── tool.rs
│   │   │   │   └── tool_guide.rs
│   │   │   ├── mcp.rs
│   │   │   ├── router
│   │   │   │   ├── external_calls.rs
│   │   │   │   ├── internal_calls.rs
│   │   │   │   ├── modifier_calls.rs
│   │   │   │   └── tests.rs
│   │   │   ├── router.rs
│   │   │   └── workspace.rs
│   │   ├── context.rs
│   │   ├── detect
│   │   │   ├── detector.rs
│   │   │   ├── entrypoint.rs
│   │   │   ├── helpers.rs
│   │   │   ├── high
│   │   │   │   ├── _template.rs
│   │   │   │   ├── abi_encode_packed_hash_collision.rs
│   │   │   │   ├── arbitrary_transfer_from.rs
│   │   │   │   ├── const_func_changes_state.rs
│   │   │   │   ├── contract_locks_ether.rs
│   │   │   │   ├── dangerous_unary_operator.rs
│   │   │   │   ├── delegate_call_unchecked_address.rs
│   │   │   │   ├── delete_nested_mapping.rs
│   │   │   │   ├── dynamic_array_length_assignment.rs
│   │   │   │   ├── enumerable_loop_removal.rs
│   │   │   │   ├── eth_send_unchecked_address.rs
│   │   │   │   ├── experimental_encoder.rs
│   │   │   │   ├── function_selector_collision.rs
│   │   │   │   ├── incorrect_caret_operator.rs
│   │   │   │   ├── incorrect_erc20_interface.rs
│   │   │   │   ├── incorrect_erc721_interface.rs
│   │   │   │   ├── incorrect_shift_order.rs
│   │   │   │   ├── misused_boolean.rs
│   │   │   │   ├── msg_value_in_loops.rs
│   │   │   │   ├── multiple_constructors.rs
│   │   │   │   ├── nested_struct_in_mapping.rs
│   │   │   │   ├── out_of_order_retryable.rs
│   │   │   │   ├── pre_declared_variable_usage.rs
│   │   │   │   ├── reentrancy_state_change.rs
│   │   │   │   ├── reused_contract_name.rs
│   │   │   │   ├── rtlo.rs
│   │   │   │   ├── selfdestruct.rs
│   │   │   │   ├── signed_integer_storage_array.rs
│   │   │   │   ├── state_variable_shadowing.rs
│   │   │   │   ├── storage_array_memory_edit.rs
│   │   │   │   ├── strict_equality_contract_balance.rs
│   │   │   │   ├── tautological_compare.rs
│   │   │   │   ├── tautology_or_contradiction.rs
│   │   │   │   ├── tx_origin_used_for_auth.rs
│   │   │   │   ├── unchecked_low_level_call.rs
│   │   │   │   ├── unchecked_send.rs
│   │   │   │   ├── unprotected_initializer.rs
│   │   │   │   ├── unsafe_casting.rs
│   │   │   │   ├── weak_randomness.rs
│   │   │   │   └── yul_return.rs
│   │   │   ├── high.rs
│   │   │   ├── low
│   │   │   │   ├── _template.rs
│   │   │   │   ├── assert_state_change.rs
│   │   │   │   ├── block_timestamp_deadline.rs
│   │   │   │   ├── boolean_equality.rs
│   │   │   │   ├── builtin_symbol_shadowing.rs
│   │   │   │   ├── centralization_risk.rs
│   │   │   │   ├── constant_function_contains_assembly.rs
│   │   │   │   ├── costly_loop.rs
│   │   │   │   ├── dead_code.rs
│   │   │   │   ├── delegatecall_in_loop.rs
│   │   │   │   ├── deprecated_oz_function.rs
│   │   │   │   ├── division_before_multiplication.rs
│   │   │   │   ├── ecrecover.rs
│   │   │   │   ├── empty_block.rs
│   │   │   │   ├── empty_require_revert.rs
│   │   │   │   ├── function_initializing_state.rs
│   │   │   │   ├── function_pointer_in_constructor.rs
│   │   │   │   ├── inconsistent_type_names.rs
│   │   │   │   ├── incorrect_modifier.rs
│   │   │   │   ├── internal_function_used_once.rs
│   │   │   │   ├── large_numeric_literal.rs
│   │   │   │   ├── literal_instead_of_constant.rs
│   │   │   │   ├── local_variable_shadowing.rs
│   │   │   │   ├── missing_inheritance.rs
│   │   │   │   ├── modifier_used_only_once.rs
│   │   │   │   ├── multiple_placeholders.rs
│   │   │   │   ├── non_reentrant_not_first.rs
│   │   │   │   ├── push_0_opcode.rs
│   │   │   │   ├── redundant_statement.rs
│   │   │   │   ├── require_revert_in_loop.rs
│   │   │   │   ├── return_bomb.rs
│   │   │   │   ├── solmate_safe_transfer_lib.rs
│   │   │   │   ├── state_change_without_event.rs
│   │   │   │   ├── state_no_address_check.rs
│   │   │   │   ├── state_variable_could_be_constant.rs
│   │   │   │   ├── state_variable_could_be_immutable.rs
│   │   │   │   ├── state_variable_read_external.rs
│   │   │   │   ├── storage_array_length_not_cached.rs
│   │   │   │   ├── todo.rs
│   │   │   │   ├── unchecked_return.rs
│   │   │   │   ├── uninitialized_local_variable.rs
│   │   │   │   ├── unsafe_erc20_operation.rs
│   │   │   │   ├── unsafe_oz_erc721_mint.rs
│   │   │   │   ├── unspecific_solidity_pragma.rs
│   │   │   │   ├── unused_error.rs
│   │   │   │   ├── unused_import.rs
│   │   │   │   ├── unused_public_function.rs
│   │   │   │   ├── unused_state_variable.rs
│   │   │   │   └── void_constructor.rs
│   │   │   ├── low.rs
│   │   │   └── test_utils.rs
│   │   ├── detect.rs
│   │   ├── lib.rs
│   │   ├── stats
│   │   │   ├── cloc.rs
│   │   │   ├── dbg_tips.txt
│   │   │   ├── ignore.rs
│   │   │   ├── token.rs
│   │   │   └── util.rs
│   │   ├── stats.rs
│   │   ├── test_utils
│   │   │   └── load_source_unit.rs
│   │   ├── test_utils.rs
│   │   ├── visitor
│   │   │   ├── ast_visitor.rs
│   │   │   ├── macros.rs
│   │   │   └── workspace_visitor.rs
│   │   └── visitor.rs
│   ├── templates
│   │   └── mcp-tool-response
│   │       ├── callgraph.md
│   │       ├── contract_surface.md
│   │       ├── list_contracts.md
│   │       ├── node_finder_get_all.md
│   │       ├── node_finder_grep.md
│   │       ├── node_finder_search.md
│   │       ├── node_summarizer.md
│   │       ├── project_overview.md
│   │       └── tool_guide.md
│   └── tests
│       ├── common
│       │   ├── ancestral_line.rs
│       │   ├── closest_ancestor.rs
│       │   ├── immediate_children.rs
│       │   ├── immediate_parent.rs
│       │   ├── mod.rs
│       │   ├── new_ast_nodes.rs
│       │   ├── peek_over.rs
│       │   └── sibling.rs
│       └── traversal.rs
├── aderyn_driver
│   ├── .gitignore
│   ├── benches
│   │   └── detectors.rs
│   ├── Cargo.toml
│   ├── README.md
│   ├── src
│   │   ├── compile.rs
│   │   ├── config.rs
│   │   ├── display.rs
│   │   ├── driver.rs
│   │   ├── interface
│   │   │   ├── json.rs
│   │   │   ├── lsp.rs
│   │   │   ├── markdown.rs
│   │   │   ├── mod.rs
│   │   │   ├── sarif.rs
│   │   │   ├── tables.rs
│   │   │   └── util.rs
│   │   ├── lib.rs
│   │   ├── mcp.rs
│   │   ├── process.rs
│   │   └── runner.rs
│   └── tests
│       └── astgen.rs
├── bacon.toml
├── benchmarks
│   ├── aderyn
│   │   ├── base
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   ├── change
│   │   │   └── estimates.json
│   │   ├── new
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   └── report
│   │       ├── both
│   │       │   ├── iteration_times.svg
│   │       │   └── pdf.svg
│   │       ├── change
│   │       │   ├── mean.svg
│   │       │   ├── median.svg
│   │       │   └── t-test.svg
│   │       ├── index.html
│   │       ├── iteration_times_small.svg
│   │       ├── iteration_times.svg
│   │       ├── MAD.svg
│   │       ├── mean.svg
│   │       ├── median.svg
│   │       ├── pdf_small.svg
│   │       ├── pdf.svg
│   │       ├── relative_iteration_times_small.svg
│   │       ├── relative_pdf_small.svg
│   │       ├── SD.svg
│   │       └── typical.svg
│   ├── arbitrary-transfer-from
│   │   ├── base
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   ├── change
│   │   │   └── estimates.json
│   │   ├── new
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   └── report
│   │       ├── both
│   │       │   ├── pdf.svg
│   │       │   └── regression.svg
│   │       ├── change
│   │       │   ├── mean.svg
│   │       │   ├── median.svg
│   │       │   └── t-test.svg
│   │       ├── index.html
│   │       ├── MAD.svg
│   │       ├── mean.svg
│   │       ├── median.svg
│   │       ├── pdf_small.svg
│   │       ├── pdf.svg
│   │       ├── regression_small.svg
│   │       ├── regression.svg
│   │       ├── relative_pdf_small.svg
│   │       ├── relative_regression_small.svg
│   │       ├── SD.svg
│   │       ├── slope.svg
│   │       └── typical.svg
│   ├── avoid-abi-encode-packed
│   │   ├── base
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   ├── change
│   │   │   └── estimates.json
│   │   ├── new
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   └── report
│   │       ├── both
│   │       │   ├── pdf.svg
│   │       │   └── regression.svg
│   │       ├── change
│   │       │   ├── mean.svg
│   │       │   ├── median.svg
│   │       │   └── t-test.svg
│   │       ├── index.html
│   │       ├── MAD.svg
│   │       ├── mean.svg
│   │       ├── median.svg
│   │       ├── pdf_small.svg
│   │       ├── pdf.svg
│   │       ├── regression_small.svg
│   │       ├── regression.svg
│   │       ├── relative_pdf_small.svg
│   │       ├── relative_regression_small.svg
│   │       ├── SD.svg
│   │       ├── slope.svg
│   │       └── typical.svg
│   ├── block-timestamp-deadline
│   │   ├── base
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   ├── change
│   │   │   └── estimates.json
│   │   ├── new
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   └── report
│   │       ├── both
│   │       │   ├── pdf.svg
│   │       │   └── regression.svg
│   │       ├── change
│   │       │   ├── mean.svg
│   │       │   ├── median.svg
│   │       │   └── t-test.svg
│   │       ├── index.html
│   │       ├── MAD.svg
│   │       ├── mean.svg
│   │       ├── median.svg
│   │       ├── pdf_small.svg
│   │       ├── pdf.svg
│   │       ├── regression_small.svg
│   │       ├── regression.svg
│   │       ├── relative_pdf_small.svg
│   │       ├── relative_regression_small.svg
│   │       ├── SD.svg
│   │       ├── slope.svg
│   │       └── typical.svg
│   ├── centralization-risk
│   │   ├── base
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   ├── change
│   │   │   └── estimates.json
│   │   ├── new
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   └── report
│   │       ├── both
│   │       │   ├── pdf.svg
│   │       │   └── regression.svg
│   │       ├── change
│   │       │   ├── mean.svg
│   │       │   ├── median.svg
│   │       │   └── t-test.svg
│   │       ├── index.html
│   │       ├── MAD.svg
│   │       ├── mean.svg
│   │       ├── median.svg
│   │       ├── pdf_small.svg
│   │       ├── pdf.svg
│   │       ├── regression_small.svg
│   │       ├── regression.svg
│   │       ├── relative_pdf_small.svg
│   │       ├── relative_regression_small.svg
│   │       ├── SD.svg
│   │       ├── slope.svg
│   │       └── typical.svg
│   ├── constants-instead-of-literals
│   │   ├── base
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   ├── change
│   │   │   └── estimates.json
│   │   ├── new
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   └── report
│   │       ├── both
│   │       │   ├── pdf.svg
│   │       │   └── regression.svg
│   │       ├── change
│   │       │   ├── mean.svg
│   │       │   ├── median.svg
│   │       │   └── t-test.svg
│   │       ├── index.html
│   │       ├── MAD.svg
│   │       ├── mean.svg
│   │       ├── median.svg
│   │       ├── pdf_small.svg
│   │       ├── pdf.svg
│   │       ├── regression_small.svg
│   │       ├── regression.svg
│   │       ├── relative_pdf_small.svg
│   │       ├── relative_regression_small.svg
│   │       ├── SD.svg
│   │       ├── slope.svg
│   │       └── typical.svg
│   ├── delegate-call-in-loop
│   │   ├── base
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   ├── change
│   │   │   └── estimates.json
│   │   ├── new
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   └── report
│   │       ├── both
│   │       │   ├── pdf.svg
│   │       │   └── regression.svg
│   │       ├── change
│   │       │   ├── mean.svg
│   │       │   ├── median.svg
│   │       │   └── t-test.svg
│   │       ├── index.html
│   │       ├── MAD.svg
│   │       ├── mean.svg
│   │       ├── median.svg
│   │       ├── pdf_small.svg
│   │       ├── pdf.svg
│   │       ├── regression_small.svg
│   │       ├── regression.svg
│   │       ├── relative_pdf_small.svg
│   │       ├── relative_regression_small.svg
│   │       ├── SD.svg
│   │       ├── slope.svg
│   │       └── typical.svg
│   ├── deprecated-oz-functions
│   │   ├── base
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   ├── change
│   │   │   └── estimates.json
│   │   ├── new
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   └── report
│   │       ├── both
│   │       │   ├── pdf.svg
│   │       │   └── regression.svg
│   │       ├── change
│   │       │   ├── mean.svg
│   │       │   ├── median.svg
│   │       │   └── t-test.svg
│   │       ├── index.html
│   │       ├── MAD.svg
│   │       ├── mean.svg
│   │       ├── median.svg
│   │       ├── pdf_small.svg
│   │       ├── pdf.svg
│   │       ├── regression_small.svg
│   │       ├── regression.svg
│   │       ├── relative_pdf_small.svg
│   │       ├── relative_regression_small.svg
│   │       ├── SD.svg
│   │       ├── slope.svg
│   │       └── typical.svg
│   ├── ecrecover
│   │   ├── base
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   ├── change
│   │   │   └── estimates.json
│   │   ├── new
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   └── report
│   │       ├── both
│   │       │   ├── pdf.svg
│   │       │   └── regression.svg
│   │       ├── change
│   │       │   ├── mean.svg
│   │       │   ├── median.svg
│   │       │   └── t-test.svg
│   │       ├── index.html
│   │       ├── MAD.svg
│   │       ├── mean.svg
│   │       ├── median.svg
│   │       ├── pdf_small.svg
│   │       ├── pdf.svg
│   │       ├── regression_small.svg
│   │       ├── regression.svg
│   │       ├── relative_pdf_small.svg
│   │       ├── relative_regression_small.svg
│   │       ├── SD.svg
│   │       ├── slope.svg
│   │       └── typical.svg
│   ├── empty-block
│   │   ├── base
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   ├── change
│   │   │   └── estimates.json
│   │   ├── new
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   └── report
│   │       ├── both
│   │       │   ├── pdf.svg
│   │       │   └── regression.svg
│   │       ├── change
│   │       │   ├── mean.svg
│   │       │   ├── median.svg
│   │       │   └── t-test.svg
│   │       ├── index.html
│   │       ├── MAD.svg
│   │       ├── mean.svg
│   │       ├── median.svg
│   │       ├── pdf_small.svg
│   │       ├── pdf.svg
│   │       ├── regression_small.svg
│   │       ├── regression.svg
│   │       ├── relative_pdf_small.svg
│   │       ├── relative_regression_small.svg
│   │       ├── SD.svg
│   │       ├── slope.svg
│   │       └── typical.svg
│   ├── hello_world
│   │   ├── base
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   ├── new
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   └── report
│   │       ├── index.html
│   │       ├── MAD.svg
│   │       ├── mean.svg
│   │       ├── median.svg
│   │       ├── pdf_small.svg
│   │       ├── pdf.svg
│   │       ├── regression_small.svg
│   │       ├── regression.svg
│   │       ├── SD.svg
│   │       ├── slope.svg
│   │       └── typical.svg
│   ├── inconsistent-type-names
│   │   ├── base
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   ├── change
│   │   │   └── estimates.json
│   │   ├── new
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   └── report
│   │       ├── both
│   │       │   ├── pdf.svg
│   │       │   └── regression.svg
│   │       ├── change
│   │       │   ├── mean.svg
│   │       │   ├── median.svg
│   │       │   └── t-test.svg
│   │       ├── index.html
│   │       ├── MAD.svg
│   │       ├── mean.svg
│   │       ├── median.svg
│   │       ├── pdf_small.svg
│   │       ├── pdf.svg
│   │       ├── regression_small.svg
│   │       ├── regression.svg
│   │       ├── relative_pdf_small.svg
│   │       ├── relative_regression_small.svg
│   │       ├── SD.svg
│   │       ├── slope.svg
│   │       └── typical.svg
│   ├── large-numeric-literal
│   │   ├── base
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   ├── change
│   │   │   └── estimates.json
│   │   ├── new
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   └── report
│   │       ├── both
│   │       │   ├── pdf.svg
│   │       │   └── regression.svg
│   │       ├── change
│   │       │   ├── mean.svg
│   │       │   ├── median.svg
│   │       │   └── t-test.svg
│   │       ├── index.html
│   │       ├── MAD.svg
│   │       ├── mean.svg
│   │       ├── median.svg
│   │       ├── pdf_small.svg
│   │       ├── pdf.svg
│   │       ├── regression_small.svg
│   │       ├── regression.svg
│   │       ├── relative_pdf_small.svg
│   │       ├── relative_regression_small.svg
│   │       ├── SD.svg
│   │       ├── slope.svg
│   │       └── typical.svg
│   ├── non-reentrant-before-others
│   │   ├── base
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   ├── change
│   │   │   └── estimates.json
│   │   ├── new
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   └── report
│   │       ├── both
│   │       │   ├── pdf.svg
│   │       │   └── regression.svg
│   │       ├── change
│   │       │   ├── mean.svg
│   │       │   ├── median.svg
│   │       │   └── t-test.svg
│   │       ├── index.html
│   │       ├── MAD.svg
│   │       ├── mean.svg
│   │       ├── median.svg
│   │       ├── pdf_small.svg
│   │       ├── pdf.svg
│   │       ├── regression_small.svg
│   │       ├── regression.svg
│   │       ├── relative_pdf_small.svg
│   │       ├── relative_regression_small.svg
│   │       ├── SD.svg
│   │       ├── slope.svg
│   │       └── typical.svg
│   ├── push-zero-opcode
│   │   ├── base
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   ├── change
│   │   │   └── estimates.json
│   │   ├── new
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   └── report
│   │       ├── both
│   │       │   ├── pdf.svg
│   │       │   └── regression.svg
│   │       ├── change
│   │       │   ├── mean.svg
│   │       │   ├── median.svg
│   │       │   └── t-test.svg
│   │       ├── index.html
│   │       ├── MAD.svg
│   │       ├── mean.svg
│   │       ├── median.svg
│   │       ├── pdf_small.svg
│   │       ├── pdf.svg
│   │       ├── regression_small.svg
│   │       ├── regression.svg
│   │       ├── relative_pdf_small.svg
│   │       ├── relative_regression_small.svg
│   │       ├── SD.svg
│   │       ├── slope.svg
│   │       └── typical.svg
│   ├── report
│   │   └── index.html
│   ├── require-with-string
│   │   ├── base
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   ├── change
│   │   │   └── estimates.json
│   │   ├── new
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   └── report
│   │       ├── both
│   │       │   ├── pdf.svg
│   │       │   └── regression.svg
│   │       ├── change
│   │       │   ├── mean.svg
│   │       │   ├── median.svg
│   │       │   └── t-test.svg
│   │       ├── index.html
│   │       ├── MAD.svg
│   │       ├── mean.svg
│   │       ├── median.svg
│   │       ├── pdf_small.svg
│   │       ├── pdf.svg
│   │       ├── regression_small.svg
│   │       ├── regression.svg
│   │       ├── relative_pdf_small.svg
│   │       ├── relative_regression_small.svg
│   │       ├── SD.svg
│   │       ├── slope.svg
│   │       └── typical.svg
│   ├── solmate-safe-transfer-lib
│   │   ├── base
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   ├── change
│   │   │   └── estimates.json
│   │   ├── new
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   └── report
│   │       ├── both
│   │       │   ├── pdf.svg
│   │       │   └── regression.svg
│   │       ├── change
│   │       │   ├── mean.svg
│   │       │   ├── median.svg
│   │       │   └── t-test.svg
│   │       ├── index.html
│   │       ├── MAD.svg
│   │       ├── mean.svg
│   │       ├── median.svg
│   │       ├── pdf_small.svg
│   │       ├── pdf.svg
│   │       ├── regression_small.svg
│   │       ├── regression.svg
│   │       ├── relative_pdf_small.svg
│   │       ├── relative_regression_small.svg
│   │       ├── SD.svg
│   │       ├── slope.svg
│   │       └── typical.svg
│   ├── unindexed-events
│   │   ├── base
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   ├── change
│   │   │   └── estimates.json
│   │   ├── new
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   └── report
│   │       ├── both
│   │       │   ├── pdf.svg
│   │       │   └── regression.svg
│   │       ├── change
│   │       │   ├── mean.svg
│   │       │   ├── median.svg
│   │       │   └── t-test.svg
│   │       ├── index.html
│   │       ├── MAD.svg
│   │       ├── mean.svg
│   │       ├── median.svg
│   │       ├── pdf_small.svg
│   │       ├── pdf.svg
│   │       ├── regression_small.svg
│   │       ├── regression.svg
│   │       ├── relative_pdf_small.svg
│   │       ├── relative_regression_small.svg
│   │       ├── SD.svg
│   │       ├── slope.svg
│   │       └── typical.svg
│   ├── unprotected-initializer
│   │   ├── base
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   ├── change
│   │   │   └── estimates.json
│   │   ├── new
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   └── report
│   │       ├── both
│   │       │   ├── pdf.svg
│   │       │   └── regression.svg
│   │       ├── change
│   │       │   ├── mean.svg
│   │       │   ├── median.svg
│   │       │   └── t-test.svg
│   │       ├── index.html
│   │       ├── MAD.svg
│   │       ├── mean.svg
│   │       ├── median.svg
│   │       ├── pdf_small.svg
│   │       ├── pdf.svg
│   │       ├── regression_small.svg
│   │       ├── regression.svg
│   │       ├── relative_pdf_small.svg
│   │       ├── relative_regression_small.svg
│   │       ├── SD.svg
│   │       ├── slope.svg
│   │       └── typical.svg
│   ├── unsafe-erc20-functions
│   │   ├── base
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   ├── change
│   │   │   └── estimates.json
│   │   ├── new
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   └── report
│   │       ├── both
│   │       │   ├── pdf.svg
│   │       │   └── regression.svg
│   │       ├── change
│   │       │   ├── mean.svg
│   │       │   ├── median.svg
│   │       │   └── t-test.svg
│   │       ├── index.html
│   │       ├── MAD.svg
│   │       ├── mean.svg
│   │       ├── median.svg
│   │       ├── pdf_small.svg
│   │       ├── pdf.svg
│   │       ├── regression_small.svg
│   │       ├── regression.svg
│   │       ├── relative_pdf_small.svg
│   │       ├── relative_regression_small.svg
│   │       ├── SD.svg
│   │       ├── slope.svg
│   │       └── typical.svg
│   ├── unsafe-oz-erc721-mint
│   │   ├── base
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   ├── change
│   │   │   └── estimates.json
│   │   ├── new
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   └── report
│   │       ├── both
│   │       │   ├── pdf.svg
│   │       │   └── regression.svg
│   │       ├── change
│   │       │   ├── mean.svg
│   │       │   ├── median.svg
│   │       │   └── t-test.svg
│   │       ├── index.html
│   │       ├── MAD.svg
│   │       ├── mean.svg
│   │       ├── median.svg
│   │       ├── pdf_small.svg
│   │       ├── pdf.svg
│   │       ├── regression_small.svg
│   │       ├── regression.svg
│   │       ├── relative_pdf_small.svg
│   │       ├── relative_regression_small.svg
│   │       ├── SD.svg
│   │       ├── slope.svg
│   │       └── typical.svg
│   ├── unspecific-solidity-pragma
│   │   ├── base
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   ├── change
│   │   │   └── estimates.json
│   │   ├── new
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   └── report
│   │       ├── both
│   │       │   ├── pdf.svg
│   │       │   └── regression.svg
│   │       ├── change
│   │       │   ├── mean.svg
│   │       │   ├── median.svg
│   │       │   └── t-test.svg
│   │       ├── index.html
│   │       ├── MAD.svg
│   │       ├── mean.svg
│   │       ├── median.svg
│   │       ├── pdf_small.svg
│   │       ├── pdf.svg
│   │       ├── regression_small.svg
│   │       ├── regression.svg
│   │       ├── relative_pdf_small.svg
│   │       ├── relative_regression_small.svg
│   │       ├── SD.svg
│   │       ├── slope.svg
│   │       └── typical.svg
│   ├── useless-internal-function
│   │   ├── base
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   ├── change
│   │   │   └── estimates.json
│   │   ├── new
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   └── report
│   │       ├── both
│   │       │   ├── pdf.svg
│   │       │   └── regression.svg
│   │       ├── change
│   │       │   ├── mean.svg
│   │       │   ├── median.svg
│   │       │   └── t-test.svg
│   │       ├── index.html
│   │       ├── MAD.svg
│   │       ├── mean.svg
│   │       ├── median.svg
│   │       ├── pdf_small.svg
│   │       ├── pdf.svg
│   │       ├── regression_small.svg
│   │       ├── regression.svg
│   │       ├── relative_pdf_small.svg
│   │       ├── relative_regression_small.svg
│   │       ├── SD.svg
│   │       ├── slope.svg
│   │       └── typical.svg
│   ├── useless-modifier
│   │   ├── base
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   ├── change
│   │   │   └── estimates.json
│   │   ├── new
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   └── report
│   │       ├── both
│   │       │   ├── pdf.svg
│   │       │   └── regression.svg
│   │       ├── change
│   │       │   ├── mean.svg
│   │       │   ├── median.svg
│   │       │   └── t-test.svg
│   │       ├── index.html
│   │       ├── MAD.svg
│   │       ├── mean.svg
│   │       ├── median.svg
│   │       ├── pdf_small.svg
│   │       ├── pdf.svg
│   │       ├── regression_small.svg
│   │       ├── regression.svg
│   │       ├── relative_pdf_small.svg
│   │       ├── relative_regression_small.svg
│   │       ├── SD.svg
│   │       ├── slope.svg
│   │       └── typical.svg
│   ├── useless-public-function
│   │   ├── base
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   ├── change
│   │   │   └── estimates.json
│   │   ├── new
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   └── report
│   │       ├── both
│   │       │   ├── pdf.svg
│   │       │   └── regression.svg
│   │       ├── change
│   │       │   ├── mean.svg
│   │       │   ├── median.svg
│   │       │   └── t-test.svg
│   │       ├── index.html
│   │       ├── MAD.svg
│   │       ├── mean.svg
│   │       ├── median.svg
│   │       ├── pdf_small.svg
│   │       ├── pdf.svg
│   │       ├── regression_small.svg
│   │       ├── regression.svg
│   │       ├── relative_pdf_small.svg
│   │       ├── relative_regression_small.svg
│   │       ├── SD.svg
│   │       ├── slope.svg
│   │       └── typical.svg
│   └── zero-address-check
│       ├── base
│       │   ├── benchmark.json
│       │   ├── estimates.json
│       │   ├── sample.json
│       │   └── tukey.json
│       ├── change
│       │   └── estimates.json
│       ├── new
│       │   ├── benchmark.json
│       │   ├── estimates.json
│       │   ├── sample.json
│       │   └── tukey.json
│       └── report
│           ├── both
│           │   ├── pdf.svg
│           │   └── regression.svg
│           ├── change
│           │   ├── mean.svg
│           │   ├── median.svg
│           │   └── t-test.svg
│           ├── index.html
│           ├── MAD.svg
│           ├── mean.svg
│           ├── median.svg
│           ├── pdf_small.svg
│           ├── pdf.svg
│           ├── regression_small.svg
│           ├── regression.svg
│           ├── relative_pdf_small.svg
│           ├── relative_regression_small.svg
│           ├── SD.svg
│           ├── slope.svg
│           └── typical.svg
├── Cargo.lock
├── Cargo.toml
├── cli
│   ├── benchmarks.sh
│   └── reportgen.sh
├── CODEOWNERS
├── CONTRIBUTING.md
├── cyfrinup
│   ├── dynamic_script
│   └── why.md
├── deny.toml
├── dist-workspace.toml
├── funding.json
├── LICENSE
├── Makefile
├── package-lock.json
├── package.json
├── README.md
├── RELEASE_CHECKLIST.md
├── reports
│   ├── adhoc-sol-files-highs-only-report.json
│   ├── adhoc-sol-files-report.md
│   ├── ccip-functions-report.md
│   ├── empty_report.md
│   ├── hardhat-playground-report.md
│   ├── nft-report-icm.md
│   ├── nft-report.md
│   ├── prb-math-report.md
│   ├── report.json
│   ├── report.md
│   ├── report.sarif
│   ├── sablier-aderyn-toml-nested-root.md
│   ├── templegold-report.md
│   └── uniswap_profile.md
├── rust-toolchain.toml
├── rustfmt.toml
├── tests
│   ├── adhoc-sol-files
│   │   ├── aderyn.toml
│   │   ├── Counter.sol
│   │   ├── DemoASTNodes.sol
│   │   ├── Helper.sol
│   │   ├── InconsistentUints.sol
│   │   ├── inheritance
│   │   │   ├── ExtendedInheritance.sol
│   │   │   ├── IContractInheritance.sol
│   │   │   └── InheritanceBase.sol
│   │   ├── InternalFunctions.sol
│   │   ├── lib
│   │   │   └── ThisShouldBeExcluded.sol
│   │   ├── multiple-versions
│   │   │   ├── 0.4
│   │   │   │   ├── A.sol
│   │   │   │   └── B.sol
│   │   │   ├── 0.5
│   │   │   │   ├── A.sol
│   │   │   │   └── B.sol
│   │   │   ├── 0.6
│   │   │   │   ├── A.sol
│   │   │   │   └── B.sol
│   │   │   ├── 0.7
│   │   │   │   ├── A.sol
│   │   │   │   └── B.sol
│   │   │   └── 0.8
│   │   │       ├── A.sol
│   │   │       └── B.sol
│   │   ├── OnceModifierExample.sol
│   │   └── StateVariables.sol
│   ├── ast
│   │   ├── abstract_contract.json
│   │   ├── address_payable.json
│   │   ├── array_type_name.json
│   │   ├── ast-erc4626.json
│   │   ├── base_constructor_call.json
│   │   ├── bit_not.json
│   │   ├── call.json
│   │   ├── constructor.json
│   │   ├── contract_dep_order.json
│   │   ├── do_while.json
│   │   ├── documentation_1.json
│   │   ├── documentation_2.json
│   │   ├── documentation_3.json
│   │   ├── documentation_local_variable.json
│   │   ├── documentation_on_statements.json
│   │   ├── documentation_triple.json
│   │   ├── empty_block.json
│   │   ├── enum_value_declaration.json
│   │   ├── enum_value.json
│   │   ├── event_definition.json
│   │   ├── experimental_encoder_pragma.json
│   │   ├── fallback_and_reveice_ether.json
│   │   ├── fallback_payable.json
│   │   ├── fallback.json
│   │   ├── function_type.json
│   │   ├── function.json
│   │   ├── global_enum.json
│   │   ├── global_struct.json
│   │   ├── inheritance_specifier.json
│   │   ├── leave.json
│   │   ├── license.json
│   │   ├── long_type_name_binary_operation.json
│   │   ├── long_type_name_identifier.json
│   │   ├── loop.json
│   │   ├── mappings.json
│   │   ├── modifier_definition.json
│   │   ├── modifier_invocation.json
│   │   ├── mutability.json
│   │   ├── nested_functions.json
│   │   ├── non_utf8.json
│   │   ├── override.json
│   │   ├── placeholder_statement.json
│   │   ├── receive_ether.json
│   │   ├── short_type_name_ref.json
│   │   ├── short_type_name.json
│   │   ├── slot_offset.json
│   │   ├── smoke.json
│   │   ├── source_location.json
│   │   ├── string.json
│   │   ├── stringlit.json
│   │   ├── switch_default.json
│   │   ├── switch.json
│   │   ├── try_catch.json
│   │   ├── two_base_functions.json
│   │   ├── unicode.json
│   │   ├── used_errors.json
│   │   ├── userDefinedValueType.json
│   │   ├── using_for_directive.json
│   │   ├── var_access.json
│   │   └── yul_hex_literal.json
│   ├── contract-playground
│   │   ├── .github
│   │   │   └── workflows
│   │   │       └── test.yml
│   │   ├── .gitignore
│   │   ├── dot
│   │   │   └── .gitkeep
│   │   ├── foundry.toml
│   │   ├── README.md
│   │   ├── script
│   │   │   └── Counter.s.sol
│   │   ├── src
│   │   │   ├── AbstractContract.sol
│   │   │   ├── AderynIgnoreCustomDetectors.sol
│   │   │   ├── AdminContract.sol
│   │   │   ├── ArbitraryTransferFrom.sol
│   │   │   ├── AssemblyExample.sol
│   │   │   ├── AssertStateChange.sol
│   │   │   ├── auditor_mode
│   │   │   │   ├── ExternalCalls.sol
│   │   │   │   └── PublicFunctionsWithoutSenderCheck.sol
│   │   │   ├── BooleanEquality.sol
│   │   │   ├── BuiltinSymbolShadow.sol
│   │   │   ├── CacheArrayLength.sol
│   │   │   ├── CallGraphTests.sol
│   │   │   ├── Casting.sol
│   │   │   ├── cloc
│   │   │   │   ├── AnotherHeavilyCommentedContract.sol
│   │   │   │   ├── EmptyContractFile.sol
│   │   │   │   └── HeavilyCommentedContract.sol
│   │   │   ├── CompilerBugStorageSignedIntegerArray.sol
│   │   │   ├── ConstantFuncsAssembly.sol
│   │   │   ├── ConstantsLiterals.sol
│   │   │   ├── ConstFuncChangeState.sol
│   │   │   ├── ContractLocksEther.sol
│   │   │   ├── ContractWithTodo.sol
│   │   │   ├── control_flow
│   │   │   │   └── SimpleProgram.sol
│   │   │   ├── CostlyOperationsInsideLoops.sol
│   │   │   ├── Counter.sol
│   │   │   ├── CrazyPragma.sol
│   │   │   ├── DangerousStrictEquality1.sol
│   │   │   ├── DangerousStrictEquality2.sol
│   │   │   ├── DangerousUnaryOperator.sol
│   │   │   ├── DeadCode.sol
│   │   │   ├── DelegateCallWithoutAddressCheck.sol
│   │   │   ├── DeletionNestedMappingStructureContract.sol
│   │   │   ├── DeprecatedOZFunctions.sol
│   │   │   ├── DivisionBeforeMultiplication.sol
│   │   │   ├── DynamicArrayLengthAssignment.sol
│   │   │   ├── EmitAfterExternalCall.sol
│   │   │   ├── EmptyBlocks.sol
│   │   │   ├── EnumerableSetIteration.sol
│   │   │   ├── eth2
│   │   │   │   └── DepositContract.sol
│   │   │   ├── ExperimentalEncoder.sol
│   │   │   ├── ExternalCalls.sol
│   │   │   ├── FunctionInitializingState.sol
│   │   │   ├── FunctionPointers.sol
│   │   │   ├── FunctionSignatureCollision.sol
│   │   │   ├── HugeConstants.sol
│   │   │   ├── IgnoreEverything.sol
│   │   │   ├── InconsistentUints.sol
│   │   │   ├── IncorrectCaretOperator.sol
│   │   │   ├── IncorrectERC20.sol
│   │   │   ├── IncorrectERC721.sol
│   │   │   ├── IncorrectModifier.sol
│   │   │   ├── IncorrectShift.sol
│   │   │   ├── inheritance
│   │   │   │   ├── ExtendedInheritance.sol
│   │   │   │   ├── IContractInheritance.sol
│   │   │   │   └── InheritanceBase.sol
│   │   │   ├── InternalFunctions.sol
│   │   │   ├── KeccakContract.sol
│   │   │   ├── LocalVariableShadow.sol
│   │   │   ├── MissingInheritance.sol
│   │   │   ├── MisusedBoolean.sol
│   │   │   ├── MsgValueInLoop.sol
│   │   │   ├── MultipleConstructorSchemes.sol
│   │   │   ├── MultiplePlaceholders.sol
│   │   │   ├── nested
│   │   │   │   ├── 1
│   │   │   │   │   └── Nested.sol
│   │   │   │   └── 2
│   │   │   │       └── Nested.sol
│   │   │   ├── nested_mappings
│   │   │   │   ├── LaterVersion.sol
│   │   │   │   └── NestedMappings.sol
│   │   │   ├── OnceModifierExample.sol
│   │   │   ├── OnlyLibrary.sol
│   │   │   ├── OutOfOrderRetryable.sol
│   │   │   ├── parent_chain
│   │   │   │   └── ParentChainContract.sol
│   │   │   ├── PragmaRange.sol
│   │   │   ├── PreDeclaredVarUsage.sol
│   │   │   ├── PublicFunction.sol
│   │   │   ├── PublicVariableReadInExternalContext.sol
│   │   │   ├── RedundantStatements.sol
│   │   │   ├── ReturnBomb.sol
│   │   │   ├── reused_contract_name
│   │   │   │   ├── ContractA.sol
│   │   │   │   └── ContractB.sol
│   │   │   ├── RevertsAndRequriesInLoops.sol
│   │   │   ├── router
│   │   │   │   ├── ExternalCalls.sol
│   │   │   │   ├── FallbackAndReceiveOverrides.sol
│   │   │   │   ├── InternalCalls.sol
│   │   │   │   ├── ModifierCalls.sol
│   │   │   │   └── VarOverridesFunction.sol
│   │   │   ├── RTLO.sol
│   │   │   ├── SendEtherNoChecks.sol
│   │   │   ├── SendEtherNoChecksLibImport.sol
│   │   │   ├── StateChangeAfterExternalCall.sol
│   │   │   ├── StateShadowing.sol
│   │   │   ├── StateVariableCouldBeDeclaredConstant.sol
│   │   │   ├── StateVariableCouldBeDeclaredImmutable.sol
│   │   │   ├── StateVariables.sol
│   │   │   ├── StateVariablesChangesWithoutEvents.sol
│   │   │   ├── StateVariablesManipulation.sol
│   │   │   ├── StorageConditionals.sol
│   │   │   ├── StorageParameters.sol
│   │   │   ├── T11sTranferer.sol
│   │   │   ├── TautologicalCompare.sol
│   │   │   ├── TautologyOrContradiction.sol
│   │   │   ├── TestERC20.sol
│   │   │   ├── TransientKeyword.sol
│   │   │   ├── Trump.sol
│   │   │   ├── TxOriginUsedForAuth.sol
│   │   │   ├── U2.sol
│   │   │   ├── U3.sol
│   │   │   ├── U4.sol
│   │   │   ├── U5.sol
│   │   │   ├── UncheckedCalls.sol
│   │   │   ├── UncheckedReturn.sol
│   │   │   ├── UncheckedSend.sol
│   │   │   ├── UninitializedLocalVariables.sol
│   │   │   ├── UninitializedStateVariable.sol
│   │   │   ├── uniswap
│   │   │   │   ├── UniswapV2Swapper.sol
│   │   │   │   └── UniswapV3Swapper.sol
│   │   │   ├── UnprotectedInitialize.sol
│   │   │   ├── UnsafeERC721Mint.sol
│   │   │   ├── UnusedError.sol
│   │   │   ├── UnusedImport.sol
│   │   │   ├── UnusedStateVariables.sol
│   │   │   ├── UsingSelfdestruct.sol
│   │   │   ├── VoidConstructor.sol
│   │   │   ├── WeakRandomness.sol
│   │   │   ├── WrongOrderOfLayout.sol
│   │   │   ├── YulReturn.sol
│   │   │   └── ZeroAddressCheck.sol
│   │   └── test
│   │       └── Counter.t.sol
│   ├── foundry-nft-f23
│   │   ├── .github
│   │   │   └── workflows
│   │   │       └── test.yml
│   │   ├── .gitignore
│   │   ├── foundry.lock
│   │   ├── foundry.toml
│   │   ├── README.md
│   │   ├── remappings.txt
│   │   └── src
│   │       ├── BasicNft.sol
│   │       ├── F1.sol
│   │       ├── F2.sol
│   │       ├── Initializer.sol
│   │       └── inner-core-modules
│   │           └── ICM.sol
│   ├── foundry-nft-f23-icm
│   │   ├── .github
│   │   │   └── workflows
│   │   │       └── test.yml
│   │   ├── .gitignore
│   │   ├── aderyn.toml
│   │   ├── foundry.toml
│   │   ├── README.md
│   │   ├── remappings.txt
│   │   └── src
│   │       ├── BasicNft.sol
│   │       ├── F1.sol
│   │       ├── F2.sol
│   │       ├── Initializer.sol
│   │       └── inner-core-modules
│   │           └── ICM.sol
│   ├── hardhat-js-playground
│   │   ├── .gitignore
│   │   ├── artifacts
│   │   │   ├── build-info
│   │   │   │   └── cee6fe9a9a2f03f7ff10a27ab2746af6.json
│   │   │   └── contracts
│   │   │       ├── Counter.sol
│   │   │       │   ├── Counter.dbg.json
│   │   │       │   └── Counter.json
│   │   │       ├── ExtendedInheritance.sol
│   │   │       │   ├── ExtendedInheritance.dbg.json
│   │   │       │   └── ExtendedInheritance.json
│   │   │       ├── IContractInheritance.sol
│   │   │       │   ├── IContractInheritance.dbg.json
│   │   │       │   └── IContractInheritance.json
│   │   │       ├── InheritanceBase.sol
│   │   │       │   ├── InheritanceBase.dbg.json
│   │   │       │   └── InheritanceBase.json
│   │   │       ├── KeccakContract.sol
│   │   │       │   ├── KeccakContract.dbg.json
│   │   │       │   └── KeccakContract.json
│   │   │       ├── Lock.sol
│   │   │       │   ├── Lock.dbg.json
│   │   │       │   └── Lock.json
│   │   │       └── StateVariables.sol
│   │   │           ├── StateVariables.dbg.json
│   │   │           └── StateVariables.json
│   │   ├── contracts
│   │   │   ├── Counter.sol
│   │   │   ├── ExtendedInheritance.sol
│   │   │   ├── IContractInheritance.sol
│   │   │   ├── InheritanceBase.sol
│   │   │   ├── KeccakContract.sol
│   │   │   ├── Lock.sol
│   │   │   └── StateVariables.sol
│   │   ├── hardhat.config.js
│   │   ├── package.json
│   │   ├── README.md
│   │   ├── scripts
│   │   │   └── deploy.js
│   │   ├── test
│   │   │   └── Lock.js
│   │   └── yarn.lock
│   ├── no-sol-files
│   │   ├── extra
│   │   │   └── HelloAgain.md
│   │   ├── Hello.txt
│   │   └── Hello.yul
│   └── toml
│       ├── nested_project1
│       │   ├── aderyn.toml
│       │   ├── folder1
│       │   │   └── hardhat.config.ts
│       │   ├── folder2
│       │   │   └── hardhat.config.ts
│       │   └── folder3
│       │       └── file.txt
│       └── nested_project2
│           ├── aderyn.toml
│           ├── folder1
│           │   └── foundry.toml
│           └── folder2
│               └── file1.txt
├── tools
│   └── xtask
│       ├── Cargo.toml
│       └── src
│           ├── blesspr.rs
│           ├── cut_release.rs
│           ├── flags.rs
│           ├── main.rs
│           ├── reportgen.rs
│           └── tomlgen.rs
└── typos.toml
```

# Files

--------------------------------------------------------------------------------
/benchmarks/inconsistent-type-names/new/sample.json:
--------------------------------------------------------------------------------

```json
{"sampling_mode":"Linear","iters":[1.0,2.0,3.0,4.0,5.0,6.0,7.0,8.0,9.0,10.0,11.0,12.0,13.0,14.0,15.0,16.0,17.0,18.0,19.0,20.0,21.0,22.0,23.0,24.0,25.0,26.0,27.0,28.0,29.0,30.0,31.0,32.0,33.0,34.0,35.0,36.0,37.0,38.0,39.0,40.0,41.0,42.0,43.0,44.0,45.0,46.0,47.0,48.0,49.0,50.0,51.0,52.0,53.0,54.0,55.0,56.0,57.0,58.0,59.0,60.0,61.0,62.0,63.0,64.0,65.0,66.0,67.0,68.0,69.0,70.0,71.0,72.0,73.0,74.0,75.0,76.0,77.0,78.0,79.0,80.0,81.0,82.0,83.0,84.0,85.0,86.0,87.0,88.0,89.0,90.0,91.0,92.0,93.0,94.0,95.0,96.0,97.0,98.0,99.0,100.0],"times":[1391819.0,3386217.0,4477651.0,6524564.0,7318024.0,9048109.0,9425488.0,11788924.0,12828796.0,13837872.0,15116400.0,16509303.0,17964175.0,19454366.0,20834586.0,22690938.0,24731256.0,24470341.0,51938004.0,34618273.0,33539975.0,35307362.0,33854398.0,43262153.0,33239567.0,34581602.0,38079560.0,37190004.0,39196121.0,41439007.0,45214454.0,52692402.0,84566651.0,81819636.0,175764715.0,69021524.0,64483921.0,74659844.0,87088671.0,61066938.0,73088726.0,62188662.0,97479725.0,71287929.0,76791498.0,73379120.0,72118482.0,72526746.0,74200748.0,69667915.0,70815119.0,73712764.0,129778210.0,104212871.0,92037879.0,89621704.0,94037949.0,98800282.0,93295515.0,99444742.0,96661099.0,207670202.0,119110134.0,124353249.0,133843290.0,98900375.0,99755899.0,104107496.0,115668505.0,121691129.0,133149960.0,126631987.0,118332600.0,113460003.0,118194027.0,116893945.0,117890680.0,120412950.0,121675553.0,142772487.0,125229628.0,129010023.0,123035780.0,142395818.0,152111201.0,127373286.0,130579969.0,129336934.0,145881032.0,142304156.0,170626431.0,176995000.0,136790746.0,129906996.0,140958540.0,164265694.0,170057358.0,144300927.0,139602643.0,140552634.0]}
```

--------------------------------------------------------------------------------
/aderyn_driver/src/interface/json.rs:
--------------------------------------------------------------------------------

```rust
use std::io::{Result, Write};

use aderyn_core::{context::workspace::WorkspaceContext, report::*};
use serde::Serialize;

use super::util::files_details;

#[derive(Serialize)]
pub struct JsonContent {
    files_summary: FilesSummary,
    files_details: FilesDetails,
    issue_count: IssueCount,
    high_issues: HighIssues,
    low_issues: LowIssues,
    detectors_used: Vec<String>,
}

pub fn print_report(
    writer: &mut Box<dyn Write>,
    report: &Report,
    contexts: &[WorkspaceContext],
    stdout: bool,
    detectors_used: &[(String, String)],
) -> Result<()> {
    let mut all_files_details = FilesDetails::default();
    for context in contexts {
        all_files_details = all_files_details + &files_details(context);
    }

    all_files_details.files_details.sort_by(|a, b| a.file_path.cmp(&b.file_path));

    let mut all_files_summary = FilesSummary::default();
    for details in &all_files_details.files_details {
        all_files_summary.total_sloc += details.n_sloc;
        all_files_summary.total_source_units += 1;
    }

    let detectors_used_names: Vec<_> = detectors_used.iter().map(|x| x.0.clone()).collect();
    let (high_issues, low_issues) = report.detailed_issues(contexts);

    let content = JsonContent {
        files_summary: all_files_summary,
        files_details: all_files_details,
        issue_count: report.issue_count(),
        high_issues,
        low_issues,
        detectors_used: detectors_used_names,
    };
    let value = serde_json::to_value(content).unwrap();

    if stdout {
        println!("STDOUT START");
    }

    serde_json::to_writer_pretty(writer, &value)?;

    if stdout {
        println!("STDOUT END");
    }

    Ok(())
}

```

--------------------------------------------------------------------------------
/benchmarks/deprecated-oz-functions/base/sample.json:
--------------------------------------------------------------------------------

```json
{"sampling_mode":"Linear","iters":[4.0,8.0,12.0,16.0,20.0,24.0,28.0,32.0,36.0,40.0,44.0,48.0,52.0,56.0,60.0,64.0,68.0,72.0,76.0,80.0,84.0,88.0,92.0,96.0,100.0,104.0,108.0,112.0,116.0,120.0,124.0,128.0,132.0,136.0,140.0,144.0,148.0,152.0,156.0,160.0,164.0,168.0,172.0,176.0,180.0,184.0,188.0,192.0,196.0,200.0,204.0,208.0,212.0,216.0,220.0,224.0,228.0,232.0,236.0,240.0,244.0,248.0,252.0,256.0,260.0,264.0,268.0,272.0,276.0,280.0,284.0,288.0,292.0,296.0,300.0,304.0,308.0,312.0,316.0,320.0,324.0,328.0,332.0,336.0,340.0,344.0,348.0,352.0,356.0,360.0,364.0,368.0,372.0,376.0,380.0,384.0,388.0,392.0,396.0,400.0],"times":[1006510.0,2215152.0,3554716.0,4091990.0,5682613.0,6453365.0,7378327.0,8576627.0,9162264.0,10448454.0,11841783.0,12369392.0,13755864.0,14934742.0,15769384.0,16912640.0,17866343.0,18819957.0,19546146.0,20323796.0,21871599.0,25998587.0,24459712.0,25451519.0,26503399.0,27998613.0,31016497.0,40031024.0,36484818.0,40100119.0,38170212.0,79382198.0,46196325.0,39817230.0,38996227.0,38256820.0,40031103.0,40157996.0,42311847.0,39953932.0,41063187.0,42875381.0,45232392.0,44978101.0,46220347.0,47492029.0,48234010.0,50640185.0,52980246.0,52544943.0,52943090.0,54531563.0,80220163.0,116678060.0,56704130.0,57294197.0,57616697.0,61569779.0,60583445.0,61911680.0,66197857.0,63650080.0,69220801.0,93385989.0,78508870.0,69736597.0,78440192.0,75193062.0,77014532.0,73363708.0,72154190.0,74834161.0,75361865.0,75955572.0,77350895.0,78755665.0,80450993.0,82012860.0,80534978.0,80945942.0,82131572.0,84042498.0,82119901.0,85942303.0,87461865.0,83723538.0,86455348.0,88364880.0,87961076.0,90837976.0,90795692.0,92697807.0,91741233.0,94072382.0,95374844.0,106116490.0,98876275.0,99070286.0,98539711.0,100832687.0]}
```

--------------------------------------------------------------------------------
/benchmarks/deprecated-oz-functions/new/sample.json:
--------------------------------------------------------------------------------

```json
{"sampling_mode":"Linear","iters":[4.0,8.0,12.0,16.0,20.0,24.0,28.0,32.0,36.0,40.0,44.0,48.0,52.0,56.0,60.0,64.0,68.0,72.0,76.0,80.0,84.0,88.0,92.0,96.0,100.0,104.0,108.0,112.0,116.0,120.0,124.0,128.0,132.0,136.0,140.0,144.0,148.0,152.0,156.0,160.0,164.0,168.0,172.0,176.0,180.0,184.0,188.0,192.0,196.0,200.0,204.0,208.0,212.0,216.0,220.0,224.0,228.0,232.0,236.0,240.0,244.0,248.0,252.0,256.0,260.0,264.0,268.0,272.0,276.0,280.0,284.0,288.0,292.0,296.0,300.0,304.0,308.0,312.0,316.0,320.0,324.0,328.0,332.0,336.0,340.0,344.0,348.0,352.0,356.0,360.0,364.0,368.0,372.0,376.0,380.0,384.0,388.0,392.0,396.0,400.0],"times":[1006510.0,2215152.0,3554716.0,4091990.0,5682613.0,6453365.0,7378327.0,8576627.0,9162264.0,10448454.0,11841783.0,12369392.0,13755864.0,14934742.0,15769384.0,16912640.0,17866343.0,18819957.0,19546146.0,20323796.0,21871599.0,25998587.0,24459712.0,25451519.0,26503399.0,27998613.0,31016497.0,40031024.0,36484818.0,40100119.0,38170212.0,79382198.0,46196325.0,39817230.0,38996227.0,38256820.0,40031103.0,40157996.0,42311847.0,39953932.0,41063187.0,42875381.0,45232392.0,44978101.0,46220347.0,47492029.0,48234010.0,50640185.0,52980246.0,52544943.0,52943090.0,54531563.0,80220163.0,116678060.0,56704130.0,57294197.0,57616697.0,61569779.0,60583445.0,61911680.0,66197857.0,63650080.0,69220801.0,93385989.0,78508870.0,69736597.0,78440192.0,75193062.0,77014532.0,73363708.0,72154190.0,74834161.0,75361865.0,75955572.0,77350895.0,78755665.0,80450993.0,82012860.0,80534978.0,80945942.0,82131572.0,84042498.0,82119901.0,85942303.0,87461865.0,83723538.0,86455348.0,88364880.0,87961076.0,90837976.0,90795692.0,92697807.0,91741233.0,94072382.0,95374844.0,106116490.0,98876275.0,99070286.0,98539711.0,100832687.0]}
```

--------------------------------------------------------------------------------
/benchmarks/unsafe-oz-erc721-mint/base/sample.json:
--------------------------------------------------------------------------------

```json
{"sampling_mode":"Linear","iters":[4.0,8.0,12.0,16.0,20.0,24.0,28.0,32.0,36.0,40.0,44.0,48.0,52.0,56.0,60.0,64.0,68.0,72.0,76.0,80.0,84.0,88.0,92.0,96.0,100.0,104.0,108.0,112.0,116.0,120.0,124.0,128.0,132.0,136.0,140.0,144.0,148.0,152.0,156.0,160.0,164.0,168.0,172.0,176.0,180.0,184.0,188.0,192.0,196.0,200.0,204.0,208.0,212.0,216.0,220.0,224.0,228.0,232.0,236.0,240.0,244.0,248.0,252.0,256.0,260.0,264.0,268.0,272.0,276.0,280.0,284.0,288.0,292.0,296.0,300.0,304.0,308.0,312.0,316.0,320.0,324.0,328.0,332.0,336.0,340.0,344.0,348.0,352.0,356.0,360.0,364.0,368.0,372.0,376.0,380.0,384.0,388.0,392.0,396.0,400.0],"times":[1217657.0,2578056.0,3678272.0,5396967.0,6240342.0,7673479.0,8953748.0,10332341.0,11527918.0,12846885.0,13964638.0,15363066.0,16522014.0,17838692.0,19179640.0,20383354.0,21772475.0,22831548.0,23967026.0,25546332.0,27156891.0,28342264.0,29395068.0,30246068.0,31688536.0,33043581.0,34176167.0,35493362.0,36780720.0,37919396.0,39178948.0,40238846.0,41878092.0,43366058.0,43944025.0,45694997.0,46568653.0,49475438.0,52992358.0,50658895.0,52193484.0,52944541.0,54294497.0,55789685.0,56593977.0,58823719.0,59678647.0,61536366.0,60857253.0,60432681.0,61538350.0,62913822.0,63883507.0,65248040.0,66405421.0,68498317.0,78434185.0,79743620.0,73589995.0,72664302.0,74058195.0,74912221.0,76067380.0,77365287.0,78568309.0,79449234.0,77985304.0,78972679.0,80147792.0,81313549.0,82535488.0,83711806.0,85631026.0,85462429.0,84040074.0,85211222.0,86288709.0,86409635.0,85436949.0,86498918.0,87574242.0,88898044.0,89914044.0,90867720.0,92363955.0,92086421.0,90933841.0,91657079.0,93026676.0,101770620.0,94664576.0,93002023.0,93777285.0,94378618.0,95129671.0,94842152.0,95077931.0,95879746.0,96925721.0,97984955.0]}
```

--------------------------------------------------------------------------------
/benchmarks/unsafe-oz-erc721-mint/new/sample.json:
--------------------------------------------------------------------------------

```json
{"sampling_mode":"Linear","iters":[4.0,8.0,12.0,16.0,20.0,24.0,28.0,32.0,36.0,40.0,44.0,48.0,52.0,56.0,60.0,64.0,68.0,72.0,76.0,80.0,84.0,88.0,92.0,96.0,100.0,104.0,108.0,112.0,116.0,120.0,124.0,128.0,132.0,136.0,140.0,144.0,148.0,152.0,156.0,160.0,164.0,168.0,172.0,176.0,180.0,184.0,188.0,192.0,196.0,200.0,204.0,208.0,212.0,216.0,220.0,224.0,228.0,232.0,236.0,240.0,244.0,248.0,252.0,256.0,260.0,264.0,268.0,272.0,276.0,280.0,284.0,288.0,292.0,296.0,300.0,304.0,308.0,312.0,316.0,320.0,324.0,328.0,332.0,336.0,340.0,344.0,348.0,352.0,356.0,360.0,364.0,368.0,372.0,376.0,380.0,384.0,388.0,392.0,396.0,400.0],"times":[1217657.0,2578056.0,3678272.0,5396967.0,6240342.0,7673479.0,8953748.0,10332341.0,11527918.0,12846885.0,13964638.0,15363066.0,16522014.0,17838692.0,19179640.0,20383354.0,21772475.0,22831548.0,23967026.0,25546332.0,27156891.0,28342264.0,29395068.0,30246068.0,31688536.0,33043581.0,34176167.0,35493362.0,36780720.0,37919396.0,39178948.0,40238846.0,41878092.0,43366058.0,43944025.0,45694997.0,46568653.0,49475438.0,52992358.0,50658895.0,52193484.0,52944541.0,54294497.0,55789685.0,56593977.0,58823719.0,59678647.0,61536366.0,60857253.0,60432681.0,61538350.0,62913822.0,63883507.0,65248040.0,66405421.0,68498317.0,78434185.0,79743620.0,73589995.0,72664302.0,74058195.0,74912221.0,76067380.0,77365287.0,78568309.0,79449234.0,77985304.0,78972679.0,80147792.0,81313549.0,82535488.0,83711806.0,85631026.0,85462429.0,84040074.0,85211222.0,86288709.0,86409635.0,85436949.0,86498918.0,87574242.0,88898044.0,89914044.0,90867720.0,92363955.0,92086421.0,90933841.0,91657079.0,93026676.0,101770620.0,94664576.0,93002023.0,93777285.0,94378618.0,95129671.0,94842152.0,95077931.0,95879746.0,96925721.0,97984955.0]}
```

--------------------------------------------------------------------------------
/aderyn_core/tests/common/new_ast_nodes.rs:
--------------------------------------------------------------------------------

```rust
use std::{collections::BTreeMap, error::Error};

use aderyn_core::{
    ast::NodeID,
    capture,
    context::workspace::WorkspaceContext,
    detect::detector::{IssueDetector, IssueDetectorNamePool, IssueSeverity},
};
use eyre::Result;

#[derive(Default)]
pub struct NewASTNodesDemonstrator {
    // Keys are: [0] source file name, [1] line number, [2] character location of node.
    // Do not add items manually, use `capture!` to add nodes to this BTreeMap.
    found_instances: BTreeMap<(String, usize, String), NodeID>,
}

impl IssueDetector for NewASTNodesDemonstrator {
    fn detect(&mut self, context: &WorkspaceContext) -> Result<bool, Box<dyn Error>> {
        for do_while_statement in context.do_while_statements() {
            capture!(self, context, do_while_statement);
        }

        for break_statement in context.break_statements() {
            capture!(self, context, break_statement);
        }

        for continue_statements in context.continue_statements() {
            capture!(self, context, continue_statements);
        }

        for placeholder_statement in context.placeholder_statements() {
            capture!(self, context, placeholder_statement);
        }

        Ok(!self.found_instances.is_empty())
    }

    fn severity(&self) -> IssueSeverity {
        IssueSeverity::High
    }

    fn title(&self) -> String {
        String::from("New AST Nodes Demo")
    }

    fn description(&self) -> String {
        String::from("New AST Nodes Demo")
    }

    fn instances(&self) -> BTreeMap<(String, usize, String), NodeID> {
        self.found_instances.clone()
    }

    fn name(&self) -> String {
        format!("{}", IssueDetectorNamePool::CentralizationRisk)
    }
}

```

--------------------------------------------------------------------------------
/benchmarks/block-timestamp-deadline/base/sample.json:
--------------------------------------------------------------------------------

```json
{"sampling_mode":"Linear","iters":[4.0,8.0,12.0,16.0,20.0,24.0,28.0,32.0,36.0,40.0,44.0,48.0,52.0,56.0,60.0,64.0,68.0,72.0,76.0,80.0,84.0,88.0,92.0,96.0,100.0,104.0,108.0,112.0,116.0,120.0,124.0,128.0,132.0,136.0,140.0,144.0,148.0,152.0,156.0,160.0,164.0,168.0,172.0,176.0,180.0,184.0,188.0,192.0,196.0,200.0,204.0,208.0,212.0,216.0,220.0,224.0,228.0,232.0,236.0,240.0,244.0,248.0,252.0,256.0,260.0,264.0,268.0,272.0,276.0,280.0,284.0,288.0,292.0,296.0,300.0,304.0,308.0,312.0,316.0,320.0,324.0,328.0,332.0,336.0,340.0,344.0,348.0,352.0,356.0,360.0,364.0,368.0,372.0,376.0,380.0,384.0,388.0,392.0,396.0,400.0],"times":[1200811.0,2258240.0,4233793.0,4472595.0,5670753.0,7014815.0,8505327.0,8997133.0,10047291.0,10881948.0,11955758.0,13040992.0,14166195.0,15475734.0,16666668.0,17559893.0,18548285.0,19633923.0,20877066.0,21786878.0,22916448.0,23142884.0,24595826.0,25845302.0,26957678.0,28372993.0,30913005.0,34168302.0,35899921.0,36489387.0,36839831.0,38598837.0,39156109.0,39137733.0,38998987.0,39424824.0,41014107.0,42452801.0,42874295.0,42790770.0,44199236.0,44253963.0,46605259.0,49618978.0,55203526.0,55315052.0,55487549.0,59375065.0,52881309.0,53095661.0,53927135.0,54901014.0,56141995.0,57954182.0,59669895.0,66074179.0,67929281.0,68422602.0,70667350.0,66276558.0,67829295.0,68639940.0,69415415.0,70420829.0,71772347.0,73624734.0,75000955.0,76558809.0,76288988.0,77845825.0,79254850.0,80448485.0,82011430.0,83232250.0,83120806.0,84399531.0,87411864.0,87395214.0,87237770.0,90380777.0,89753870.0,91628160.0,91458627.0,94996704.0,96209639.0,95748718.0,96841399.0,99008585.0,100560902.0,100999531.0,103083624.0,103005705.0,107279680.0,107948145.0,109210128.0,111813364.0,111761523.0,111951638.0,142422075.0,119905393.0]}
```

--------------------------------------------------------------------------------
/benchmarks/block-timestamp-deadline/new/sample.json:
--------------------------------------------------------------------------------

```json
{"sampling_mode":"Linear","iters":[4.0,8.0,12.0,16.0,20.0,24.0,28.0,32.0,36.0,40.0,44.0,48.0,52.0,56.0,60.0,64.0,68.0,72.0,76.0,80.0,84.0,88.0,92.0,96.0,100.0,104.0,108.0,112.0,116.0,120.0,124.0,128.0,132.0,136.0,140.0,144.0,148.0,152.0,156.0,160.0,164.0,168.0,172.0,176.0,180.0,184.0,188.0,192.0,196.0,200.0,204.0,208.0,212.0,216.0,220.0,224.0,228.0,232.0,236.0,240.0,244.0,248.0,252.0,256.0,260.0,264.0,268.0,272.0,276.0,280.0,284.0,288.0,292.0,296.0,300.0,304.0,308.0,312.0,316.0,320.0,324.0,328.0,332.0,336.0,340.0,344.0,348.0,352.0,356.0,360.0,364.0,368.0,372.0,376.0,380.0,384.0,388.0,392.0,396.0,400.0],"times":[1200811.0,2258240.0,4233793.0,4472595.0,5670753.0,7014815.0,8505327.0,8997133.0,10047291.0,10881948.0,11955758.0,13040992.0,14166195.0,15475734.0,16666668.0,17559893.0,18548285.0,19633923.0,20877066.0,21786878.0,22916448.0,23142884.0,24595826.0,25845302.0,26957678.0,28372993.0,30913005.0,34168302.0,35899921.0,36489387.0,36839831.0,38598837.0,39156109.0,39137733.0,38998987.0,39424824.0,41014107.0,42452801.0,42874295.0,42790770.0,44199236.0,44253963.0,46605259.0,49618978.0,55203526.0,55315052.0,55487549.0,59375065.0,52881309.0,53095661.0,53927135.0,54901014.0,56141995.0,57954182.0,59669895.0,66074179.0,67929281.0,68422602.0,70667350.0,66276558.0,67829295.0,68639940.0,69415415.0,70420829.0,71772347.0,73624734.0,75000955.0,76558809.0,76288988.0,77845825.0,79254850.0,80448485.0,82011430.0,83232250.0,83120806.0,84399531.0,87411864.0,87395214.0,87237770.0,90380777.0,89753870.0,91628160.0,91458627.0,94996704.0,96209639.0,95748718.0,96841399.0,99008585.0,100560902.0,100999531.0,103083624.0,103005705.0,107279680.0,107948145.0,109210128.0,111813364.0,111761523.0,111951638.0,142422075.0,119905393.0]}
```

--------------------------------------------------------------------------------
/benchmarks/zero-address-check/base/sample.json:
--------------------------------------------------------------------------------

```json
{"sampling_mode":"Linear","iters":[3.0,6.0,9.0,12.0,15.0,18.0,21.0,24.0,27.0,30.0,33.0,36.0,39.0,42.0,45.0,48.0,51.0,54.0,57.0,60.0,63.0,66.0,69.0,72.0,75.0,78.0,81.0,84.0,87.0,90.0,93.0,96.0,99.0,102.0,105.0,108.0,111.0,114.0,117.0,120.0,123.0,126.0,129.0,132.0,135.0,138.0,141.0,144.0,147.0,150.0,153.0,156.0,159.0,162.0,165.0,168.0,171.0,174.0,177.0,180.0,183.0,186.0,189.0,192.0,195.0,198.0,201.0,204.0,207.0,210.0,213.0,216.0,219.0,222.0,225.0,228.0,231.0,234.0,237.0,240.0,243.0,246.0,249.0,252.0,255.0,258.0,261.0,264.0,267.0,270.0,273.0,276.0,279.0,282.0,285.0,288.0,291.0,294.0,297.0,300.0],"times":[1417798.0,3537259.0,4804561.0,5878879.0,7638246.0,9762404.0,10105434.0,11192677.0,12576859.0,13965378.0,15363937.0,16749806.0,18140150.0,19539798.0,20930358.0,22315329.0,23876961.0,25255010.0,26100290.0,27619886.0,28940619.0,30310004.0,31688343.0,33009130.0,34373042.0,35783977.0,37681227.0,38667787.0,39792000.0,40691267.0,42311971.0,43339130.0,44706171.0,46867889.0,48201783.0,49581408.0,50903400.0,52305621.0,53665521.0,54452023.0,55615175.0,56915283.0,58788828.0,60766840.0,62034922.0,63468389.0,65325674.0,66347212.0,68200891.0,68850396.0,70211984.0,71193498.0,72938411.0,73987003.0,74187506.0,74732772.0,76383602.0,77666784.0,78791925.0,80821003.0,81836836.0,83213302.0,84369750.0,85734918.0,87023727.0,88108188.0,86421281.0,87826439.0,89683583.0,92583783.0,94164968.0,97049012.0,95181770.0,96741924.0,97311821.0,102150490.0,104796358.0,104105019.0,132682535.0,104273455.0,105817709.0,107791161.0,108579586.0,109983346.0,111063401.0,112693133.0,113923743.0,114217713.0,116201250.0,118269014.0,118897250.0,121090458.0,122148533.0,122965300.0,124127260.0,127429428.0,134806877.0,135536203.0,127969788.0,131701888.0]}
```

--------------------------------------------------------------------------------
/benchmarks/zero-address-check/new/sample.json:
--------------------------------------------------------------------------------

```json
{"sampling_mode":"Linear","iters":[3.0,6.0,9.0,12.0,15.0,18.0,21.0,24.0,27.0,30.0,33.0,36.0,39.0,42.0,45.0,48.0,51.0,54.0,57.0,60.0,63.0,66.0,69.0,72.0,75.0,78.0,81.0,84.0,87.0,90.0,93.0,96.0,99.0,102.0,105.0,108.0,111.0,114.0,117.0,120.0,123.0,126.0,129.0,132.0,135.0,138.0,141.0,144.0,147.0,150.0,153.0,156.0,159.0,162.0,165.0,168.0,171.0,174.0,177.0,180.0,183.0,186.0,189.0,192.0,195.0,198.0,201.0,204.0,207.0,210.0,213.0,216.0,219.0,222.0,225.0,228.0,231.0,234.0,237.0,240.0,243.0,246.0,249.0,252.0,255.0,258.0,261.0,264.0,267.0,270.0,273.0,276.0,279.0,282.0,285.0,288.0,291.0,294.0,297.0,300.0],"times":[1417798.0,3537259.0,4804561.0,5878879.0,7638246.0,9762404.0,10105434.0,11192677.0,12576859.0,13965378.0,15363937.0,16749806.0,18140150.0,19539798.0,20930358.0,22315329.0,23876961.0,25255010.0,26100290.0,27619886.0,28940619.0,30310004.0,31688343.0,33009130.0,34373042.0,35783977.0,37681227.0,38667787.0,39792000.0,40691267.0,42311971.0,43339130.0,44706171.0,46867889.0,48201783.0,49581408.0,50903400.0,52305621.0,53665521.0,54452023.0,55615175.0,56915283.0,58788828.0,60766840.0,62034922.0,63468389.0,65325674.0,66347212.0,68200891.0,68850396.0,70211984.0,71193498.0,72938411.0,73987003.0,74187506.0,74732772.0,76383602.0,77666784.0,78791925.0,80821003.0,81836836.0,83213302.0,84369750.0,85734918.0,87023727.0,88108188.0,86421281.0,87826439.0,89683583.0,92583783.0,94164968.0,97049012.0,95181770.0,96741924.0,97311821.0,102150490.0,104796358.0,104105019.0,132682535.0,104273455.0,105817709.0,107791161.0,108579586.0,109983346.0,111063401.0,112693133.0,113923743.0,114217713.0,116201250.0,118269014.0,118897250.0,121090458.0,122148533.0,122965300.0,124127260.0,127429428.0,134806877.0,135536203.0,127969788.0,131701888.0]}
```

--------------------------------------------------------------------------------
/benchmarks/useless-public-function/base/sample.json:
--------------------------------------------------------------------------------

```json
{"sampling_mode":"Linear","iters":[3.0,6.0,9.0,12.0,15.0,18.0,21.0,24.0,27.0,30.0,33.0,36.0,39.0,42.0,45.0,48.0,51.0,54.0,57.0,60.0,63.0,66.0,69.0,72.0,75.0,78.0,81.0,84.0,87.0,90.0,93.0,96.0,99.0,102.0,105.0,108.0,111.0,114.0,117.0,120.0,123.0,126.0,129.0,132.0,135.0,138.0,141.0,144.0,147.0,150.0,153.0,156.0,159.0,162.0,165.0,168.0,171.0,174.0,177.0,180.0,183.0,186.0,189.0,192.0,195.0,198.0,201.0,204.0,207.0,210.0,213.0,216.0,219.0,222.0,225.0,228.0,231.0,234.0,237.0,240.0,243.0,246.0,249.0,252.0,255.0,258.0,261.0,264.0,267.0,270.0,273.0,276.0,279.0,282.0,285.0,288.0,291.0,294.0,297.0,300.0],"times":[1416619.0,3563914.0,4334650.0,5810336.0,7535663.0,8807583.0,10983758.0,11417950.0,12635384.0,14039086.0,15433797.0,17167215.0,17801590.0,19212100.0,20530722.0,21880018.0,23254803.0,24623342.0,25992531.0,27339891.0,28725925.0,30059185.0,31423670.0,32797213.0,35240875.0,36699249.0,37993754.0,39474173.0,40869104.0,42207441.0,42779970.0,44862592.0,47373142.0,48712540.0,49917590.0,49594754.0,52729668.0,54950493.0,52811233.0,54258750.0,55562810.0,56952297.0,58303262.0,60158528.0,61156842.0,60736132.0,63487847.0,64457741.0,65786734.0,69038701.0,71176451.0,71564770.0,73677614.0,75286968.0,75806632.0,77311055.0,85053000.0,78495291.0,81644509.0,82306704.0,83633179.0,84917526.0,86307109.0,87760931.0,89021055.0,88448723.0,90173173.0,92217004.0,90796895.0,93747494.0,93368776.0,97703961.0,114238546.0,106331239.0,116839678.0,107583872.0,105348922.0,129913629.0,155824573.0,110890113.0,109966325.0,113571874.0,113181508.0,115993227.0,126998710.0,122661127.0,118153727.0,120638411.0,126338635.0,127170445.0,128958912.0,129464203.0,128498606.0,128316830.0,131899682.0,147619154.0,160016358.0,132953333.0,134185912.0,134923477.0]}
```

--------------------------------------------------------------------------------
/benchmarks/useless-public-function/new/sample.json:
--------------------------------------------------------------------------------

```json
{"sampling_mode":"Linear","iters":[3.0,6.0,9.0,12.0,15.0,18.0,21.0,24.0,27.0,30.0,33.0,36.0,39.0,42.0,45.0,48.0,51.0,54.0,57.0,60.0,63.0,66.0,69.0,72.0,75.0,78.0,81.0,84.0,87.0,90.0,93.0,96.0,99.0,102.0,105.0,108.0,111.0,114.0,117.0,120.0,123.0,126.0,129.0,132.0,135.0,138.0,141.0,144.0,147.0,150.0,153.0,156.0,159.0,162.0,165.0,168.0,171.0,174.0,177.0,180.0,183.0,186.0,189.0,192.0,195.0,198.0,201.0,204.0,207.0,210.0,213.0,216.0,219.0,222.0,225.0,228.0,231.0,234.0,237.0,240.0,243.0,246.0,249.0,252.0,255.0,258.0,261.0,264.0,267.0,270.0,273.0,276.0,279.0,282.0,285.0,288.0,291.0,294.0,297.0,300.0],"times":[1416619.0,3563914.0,4334650.0,5810336.0,7535663.0,8807583.0,10983758.0,11417950.0,12635384.0,14039086.0,15433797.0,17167215.0,17801590.0,19212100.0,20530722.0,21880018.0,23254803.0,24623342.0,25992531.0,27339891.0,28725925.0,30059185.0,31423670.0,32797213.0,35240875.0,36699249.0,37993754.0,39474173.0,40869104.0,42207441.0,42779970.0,44862592.0,47373142.0,48712540.0,49917590.0,49594754.0,52729668.0,54950493.0,52811233.0,54258750.0,55562810.0,56952297.0,58303262.0,60158528.0,61156842.0,60736132.0,63487847.0,64457741.0,65786734.0,69038701.0,71176451.0,71564770.0,73677614.0,75286968.0,75806632.0,77311055.0,85053000.0,78495291.0,81644509.0,82306704.0,83633179.0,84917526.0,86307109.0,87760931.0,89021055.0,88448723.0,90173173.0,92217004.0,90796895.0,93747494.0,93368776.0,97703961.0,114238546.0,106331239.0,116839678.0,107583872.0,105348922.0,129913629.0,155824573.0,110890113.0,109966325.0,113571874.0,113181508.0,115993227.0,126998710.0,122661127.0,118153727.0,120638411.0,126338635.0,127170445.0,128958912.0,129464203.0,128498606.0,128316830.0,131899682.0,147619154.0,160016358.0,132953333.0,134185912.0,134923477.0]}
```

--------------------------------------------------------------------------------
/benchmarks/arbitrary-transfer-from/base/sample.json:
--------------------------------------------------------------------------------

```json
{"sampling_mode":"Linear","iters":[15.0,30.0,45.0,60.0,75.0,90.0,105.0,120.0,135.0,150.0,165.0,180.0,195.0,210.0,225.0,240.0,255.0,270.0,285.0,300.0,315.0,330.0,345.0,360.0,375.0,390.0,405.0,420.0,435.0,450.0,465.0,480.0,495.0,510.0,525.0,540.0,555.0,570.0,585.0,600.0,615.0,630.0,645.0,660.0,675.0,690.0,705.0,720.0,735.0,750.0,765.0,780.0,795.0,810.0,825.0,840.0,855.0,870.0,885.0,900.0,915.0,930.0,945.0,960.0,975.0,990.0,1005.0,1020.0,1035.0,1050.0,1065.0,1080.0,1095.0,1110.0,1125.0,1140.0,1155.0,1170.0,1185.0,1200.0,1215.0,1230.0,1245.0,1260.0,1275.0,1290.0,1305.0,1320.0,1335.0,1350.0,1365.0,1380.0,1395.0,1410.0,1425.0,1440.0,1455.0,1470.0,1485.0,1500.0],"times":[1497355.0,2532607.0,2973259.0,3999977.0,4847630.0,5910592.0,6992871.0,8401972.0,8454836.0,9282569.0,10386902.0,11237281.0,12194644.0,13173378.0,13934970.0,14892418.0,15813456.0,16742823.0,17674523.0,18761841.0,20160912.0,20276679.0,21317052.0,22768184.0,23297371.0,24223044.0,25102843.0,26025991.0,27004325.0,27893793.0,28865295.0,30842147.0,31350963.0,31878862.0,32737433.0,33456211.0,36292709.0,35617012.0,36004551.0,38974762.0,39445617.0,39100953.0,40421340.0,41159200.0,42093079.0,43133307.0,43932902.0,46188931.0,46231839.0,46890959.0,47890467.0,48764895.0,49562734.0,50596839.0,51592454.0,52425648.0,53558468.0,52382247.0,53308441.0,54626614.0,55632084.0,56666728.0,56998910.0,58179803.0,59084488.0,59768116.0,59397687.0,59841885.0,60965990.0,62213128.0,62594465.0,63562816.0,64374438.0,65182431.0,66092089.0,66945377.0,68199134.0,69088319.0,69229451.0,70206450.0,71729036.0,72124572.0,72489186.0,74947165.0,73911022.0,73302124.0,74023839.0,74934410.0,75378198.0,75853956.0,78337860.0,78826608.0,84755631.0,82627395.0,81161224.0,80044854.0,82115934.0,80735112.0,82216436.0,83150740.0]}
```

--------------------------------------------------------------------------------
/benchmarks/arbitrary-transfer-from/new/sample.json:
--------------------------------------------------------------------------------

```json
{"sampling_mode":"Linear","iters":[15.0,30.0,45.0,60.0,75.0,90.0,105.0,120.0,135.0,150.0,165.0,180.0,195.0,210.0,225.0,240.0,255.0,270.0,285.0,300.0,315.0,330.0,345.0,360.0,375.0,390.0,405.0,420.0,435.0,450.0,465.0,480.0,495.0,510.0,525.0,540.0,555.0,570.0,585.0,600.0,615.0,630.0,645.0,660.0,675.0,690.0,705.0,720.0,735.0,750.0,765.0,780.0,795.0,810.0,825.0,840.0,855.0,870.0,885.0,900.0,915.0,930.0,945.0,960.0,975.0,990.0,1005.0,1020.0,1035.0,1050.0,1065.0,1080.0,1095.0,1110.0,1125.0,1140.0,1155.0,1170.0,1185.0,1200.0,1215.0,1230.0,1245.0,1260.0,1275.0,1290.0,1305.0,1320.0,1335.0,1350.0,1365.0,1380.0,1395.0,1410.0,1425.0,1440.0,1455.0,1470.0,1485.0,1500.0],"times":[1497355.0,2532607.0,2973259.0,3999977.0,4847630.0,5910592.0,6992871.0,8401972.0,8454836.0,9282569.0,10386902.0,11237281.0,12194644.0,13173378.0,13934970.0,14892418.0,15813456.0,16742823.0,17674523.0,18761841.0,20160912.0,20276679.0,21317052.0,22768184.0,23297371.0,24223044.0,25102843.0,26025991.0,27004325.0,27893793.0,28865295.0,30842147.0,31350963.0,31878862.0,32737433.0,33456211.0,36292709.0,35617012.0,36004551.0,38974762.0,39445617.0,39100953.0,40421340.0,41159200.0,42093079.0,43133307.0,43932902.0,46188931.0,46231839.0,46890959.0,47890467.0,48764895.0,49562734.0,50596839.0,51592454.0,52425648.0,53558468.0,52382247.0,53308441.0,54626614.0,55632084.0,56666728.0,56998910.0,58179803.0,59084488.0,59768116.0,59397687.0,59841885.0,60965990.0,62213128.0,62594465.0,63562816.0,64374438.0,65182431.0,66092089.0,66945377.0,68199134.0,69088319.0,69229451.0,70206450.0,71729036.0,72124572.0,72489186.0,74947165.0,73911022.0,73302124.0,74023839.0,74934410.0,75378198.0,75853956.0,78337860.0,78826608.0,84755631.0,82627395.0,81161224.0,80044854.0,82115934.0,80735112.0,82216436.0,83150740.0]}
```

--------------------------------------------------------------------------------
/aderyn_core/src/ast/impls/disp/variables.rs:
--------------------------------------------------------------------------------

```rust
use crate::ast::*;
use std::fmt::Display;

impl Display for Mutability {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        f.write_fmt(format_args!("{}", format!("{self:?}").to_lowercase()))
    }
}

impl Display for StateMutability {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        f.write_fmt(format_args!("{}", format!("{self:?}").to_lowercase()))
    }
}

impl Display for Visibility {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        f.write_fmt(format_args!("{}", format!("{self:?}").to_lowercase()))
    }
}

impl Display for StorageLocation {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        f.write_fmt(format_args!("{}", format!("{self:?}").to_lowercase()))
    }
}

impl Display for VariableDeclaration {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        f.write_fmt(format_args!("{}", self.type_name.as_ref().unwrap()))?;

        if self.storage_location != StorageLocation::Default {
            f.write_fmt(format_args!(" {}", self.storage_location))?;
        }

        if let Some(mutability) = self.mutability.as_ref()
            && mutability != &Mutability::Mutable
        {
            f.write_fmt(format_args!(" {mutability}"))?;
        }

        if let Some(true) = self.indexed {
            f.write_str(" indexed")?;
        }

        if self.state_variable {
            f.write_fmt(format_args!(" {}", self.visibility))?;
        }

        if !self.name.is_empty() {
            f.write_fmt(format_args!(" {}", self.name))?;
        }

        if let Some(value) = self.value.as_ref() {
            f.write_fmt(format_args!(" = {value}"))?;
        }

        Ok(())
    }
}

```

--------------------------------------------------------------------------------
/benchmarks/large-numeric-literal/base/sample.json:
--------------------------------------------------------------------------------

```json
{"sampling_mode":"Linear","iters":[17.0,34.0,51.0,68.0,85.0,102.0,119.0,136.0,153.0,170.0,187.0,204.0,221.0,238.0,255.0,272.0,289.0,306.0,323.0,340.0,357.0,374.0,391.0,408.0,425.0,442.0,459.0,476.0,493.0,510.0,527.0,544.0,561.0,578.0,595.0,612.0,629.0,646.0,663.0,680.0,697.0,714.0,731.0,748.0,765.0,782.0,799.0,816.0,833.0,850.0,867.0,884.0,901.0,918.0,935.0,952.0,969.0,986.0,1003.0,1020.0,1037.0,1054.0,1071.0,1088.0,1105.0,1122.0,1139.0,1156.0,1173.0,1190.0,1207.0,1224.0,1241.0,1258.0,1275.0,1292.0,1309.0,1326.0,1343.0,1360.0,1377.0,1394.0,1411.0,1428.0,1445.0,1462.0,1479.0,1496.0,1513.0,1530.0,1547.0,1564.0,1581.0,1598.0,1615.0,1632.0,1649.0,1666.0,1683.0,1700.0],"times":[940575.0,2164029.0,3455990.0,4914146.0,5241352.0,6381653.0,7785464.0,7881887.0,12218609.0,9493750.0,10350819.0,11419982.0,12385372.0,13200908.0,14198976.0,14930375.0,16042250.0,16873602.0,17798779.0,18867039.0,19708872.0,20589316.0,21677437.0,22932852.0,23573818.0,24646998.0,25241289.0,26624612.0,27547396.0,28258199.0,29425264.0,33582470.0,33521175.0,33238001.0,34555250.0,35688501.0,35012507.0,35695619.0,36500501.0,38204982.0,39054387.0,50794996.0,51745331.0,42324773.0,43064885.0,44070302.0,44628383.0,45775359.0,48653062.0,47044948.0,47867643.0,49402236.0,60544837.0,54015035.0,52655645.0,53223336.0,53458141.0,54467976.0,55189154.0,56364711.0,57413555.0,63462242.0,64487279.0,65500401.0,66000739.0,62708041.0,62739239.0,63223077.0,64534169.0,65203060.0,66043743.0,67308328.0,67908785.0,69142475.0,69702947.0,70867868.0,72092877.0,73732958.0,77996155.0,81787730.0,83512124.0,82891759.0,79129321.0,79659777.0,79336651.0,80344783.0,81189361.0,81987551.0,83010628.0,84153056.0,84682696.0,85439687.0,86414305.0,87789710.0,88722753.0,89592152.0,90195712.0,91331009.0,92271093.0,93301297.0]}
```

--------------------------------------------------------------------------------
/benchmarks/large-numeric-literal/new/sample.json:
--------------------------------------------------------------------------------

```json
{"sampling_mode":"Linear","iters":[17.0,34.0,51.0,68.0,85.0,102.0,119.0,136.0,153.0,170.0,187.0,204.0,221.0,238.0,255.0,272.0,289.0,306.0,323.0,340.0,357.0,374.0,391.0,408.0,425.0,442.0,459.0,476.0,493.0,510.0,527.0,544.0,561.0,578.0,595.0,612.0,629.0,646.0,663.0,680.0,697.0,714.0,731.0,748.0,765.0,782.0,799.0,816.0,833.0,850.0,867.0,884.0,901.0,918.0,935.0,952.0,969.0,986.0,1003.0,1020.0,1037.0,1054.0,1071.0,1088.0,1105.0,1122.0,1139.0,1156.0,1173.0,1190.0,1207.0,1224.0,1241.0,1258.0,1275.0,1292.0,1309.0,1326.0,1343.0,1360.0,1377.0,1394.0,1411.0,1428.0,1445.0,1462.0,1479.0,1496.0,1513.0,1530.0,1547.0,1564.0,1581.0,1598.0,1615.0,1632.0,1649.0,1666.0,1683.0,1700.0],"times":[940575.0,2164029.0,3455990.0,4914146.0,5241352.0,6381653.0,7785464.0,7881887.0,12218609.0,9493750.0,10350819.0,11419982.0,12385372.0,13200908.0,14198976.0,14930375.0,16042250.0,16873602.0,17798779.0,18867039.0,19708872.0,20589316.0,21677437.0,22932852.0,23573818.0,24646998.0,25241289.0,26624612.0,27547396.0,28258199.0,29425264.0,33582470.0,33521175.0,33238001.0,34555250.0,35688501.0,35012507.0,35695619.0,36500501.0,38204982.0,39054387.0,50794996.0,51745331.0,42324773.0,43064885.0,44070302.0,44628383.0,45775359.0,48653062.0,47044948.0,47867643.0,49402236.0,60544837.0,54015035.0,52655645.0,53223336.0,53458141.0,54467976.0,55189154.0,56364711.0,57413555.0,63462242.0,64487279.0,65500401.0,66000739.0,62708041.0,62739239.0,63223077.0,64534169.0,65203060.0,66043743.0,67308328.0,67908785.0,69142475.0,69702947.0,70867868.0,72092877.0,73732958.0,77996155.0,81787730.0,83512124.0,82891759.0,79129321.0,79659777.0,79336651.0,80344783.0,81189361.0,81987551.0,83010628.0,84153056.0,84682696.0,85439687.0,86414305.0,87789710.0,88722753.0,89592152.0,90195712.0,91331009.0,92271093.0,93301297.0]}
```

--------------------------------------------------------------------------------
/tests/ast/function.json:
--------------------------------------------------------------------------------

```json
{"absolutePath":"a","exportedSymbols":{"C":[6]},"id":7,"nodeType":"SourceUnit","nodes":[{"abstract":false,"baseContracts":[],"canonicalName":"C","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":6,"linearizedBaseContracts":[6],"name":"C","nameLocation":"9:1:1","nodeType":"ContractDefinition","nodes":[{"body":{"id":4,"nodeType":"Block","src":"42:68:1","statements":[{"AST":{"nodeType":"YulBlock","src":"61:43:1","statements":[{"body":{"nodeType":"YulBlock","src":"76:22:1","statements":[{"expression":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"92:2:1","type":"","value":"20"}],"functionName":{"name":"blockhash","nodeType":"YulIdentifier","src":"82:9:1"},"nodeType":"YulFunctionCall","src":"82:13:1"}],"functionName":{"name":"pop","nodeType":"YulIdentifier","src":"78:3:1"},"nodeType":"YulFunctionCall","src":"78:18:1"},"nodeType":"YulExpressionStatement","src":"78:18:1"}]},"name":"g","nodeType":"YulFunctionDefinition","src":"63:35:1"},{"expression":{"arguments":[],"functionName":{"name":"g","nodeType":"YulIdentifier","src":"99:1:1"},"nodeType":"YulFunctionCall","src":"99:3:1"},"nodeType":"YulExpressionStatement","src":"99:3:1"}]},"evmVersion":"london","externalReferences":[],"id":3,"nodeType":"InlineAssembly","src":"52:52:1"}]},"functionSelector":"b8c9d365","id":5,"implemented":true,"kind":"function","modifiers":[],"name":"h","nameLocation":"26:1:1","nodeType":"FunctionDefinition","parameters":{"id":1,"nodeType":"ParameterList","parameters":[],"src":"27:2:1"},"returnParameters":{"id":2,"nodeType":"ParameterList","parameters":[],"src":"42:0:1"},"scope":6,"src":"17:93:1","stateMutability":"view","virtual":false,"visibility":"public"}],"scope":7,"src":"0:112:1","usedErrors":[]}],"src":"0:113:1"}

```

--------------------------------------------------------------------------------
/benchmarks/empty-block/base/sample.json:
--------------------------------------------------------------------------------

```json
{"sampling_mode":"Linear","iters":[19.0,38.0,57.0,76.0,95.0,114.0,133.0,152.0,171.0,190.0,209.0,228.0,247.0,266.0,285.0,304.0,323.0,342.0,361.0,380.0,399.0,418.0,437.0,456.0,475.0,494.0,513.0,532.0,551.0,570.0,589.0,608.0,627.0,646.0,665.0,684.0,703.0,722.0,741.0,760.0,779.0,798.0,817.0,836.0,855.0,874.0,893.0,912.0,931.0,950.0,969.0,988.0,1007.0,1026.0,1045.0,1064.0,1083.0,1102.0,1121.0,1140.0,1159.0,1178.0,1197.0,1216.0,1235.0,1254.0,1273.0,1292.0,1311.0,1330.0,1349.0,1368.0,1387.0,1406.0,1425.0,1444.0,1463.0,1482.0,1501.0,1520.0,1539.0,1558.0,1577.0,1596.0,1615.0,1634.0,1653.0,1672.0,1691.0,1710.0,1729.0,1748.0,1767.0,1786.0,1805.0,1824.0,1843.0,1862.0,1881.0,1900.0],"times":[1031170.0,2009053.0,3919582.0,4121913.0,5235126.0,6279340.0,6795543.0,7906720.0,8931617.0,9906779.0,10879156.0,11863284.0,12960902.0,13814366.0,14829343.0,15814156.0,16811069.0,17797324.0,18780899.0,19763411.0,20738865.0,21753449.0,22718942.0,23706022.0,25273780.0,25810434.0,27064897.0,27967527.0,28349815.0,29378933.0,30287926.0,31214709.0,32307851.0,33223958.0,34218516.0,35180635.0,36153233.0,37103229.0,38048998.0,39014346.0,40222362.0,41034517.0,41538584.0,42418883.0,43556510.0,44384993.0,45364285.0,46371083.0,47290924.0,48275221.0,49386513.0,50579653.0,51480538.0,51220511.0,52533739.0,53927491.0,54894027.0,55892735.0,56926650.0,57861325.0,58907785.0,60386379.0,60725491.0,61380744.0,61639036.0,62621958.0,63554701.0,64634605.0,66260160.0,68222697.0,68614318.0,69283997.0,68545097.0,69167902.0,70107979.0,71068115.0,72875134.0,73084079.0,73784672.0,74585978.0,75062912.0,76045287.0,77773425.0,79649824.0,79685592.0,80391665.0,79099591.0,79347530.0,80958381.0,84681355.0,83350516.0,84152224.0,87024763.0,86605396.0,87309952.0,89806999.0,89245972.0,89850549.0,90593530.0,91414567.0]}
```

--------------------------------------------------------------------------------
/benchmarks/empty-block/new/sample.json:
--------------------------------------------------------------------------------

```json
{"sampling_mode":"Linear","iters":[19.0,38.0,57.0,76.0,95.0,114.0,133.0,152.0,171.0,190.0,209.0,228.0,247.0,266.0,285.0,304.0,323.0,342.0,361.0,380.0,399.0,418.0,437.0,456.0,475.0,494.0,513.0,532.0,551.0,570.0,589.0,608.0,627.0,646.0,665.0,684.0,703.0,722.0,741.0,760.0,779.0,798.0,817.0,836.0,855.0,874.0,893.0,912.0,931.0,950.0,969.0,988.0,1007.0,1026.0,1045.0,1064.0,1083.0,1102.0,1121.0,1140.0,1159.0,1178.0,1197.0,1216.0,1235.0,1254.0,1273.0,1292.0,1311.0,1330.0,1349.0,1368.0,1387.0,1406.0,1425.0,1444.0,1463.0,1482.0,1501.0,1520.0,1539.0,1558.0,1577.0,1596.0,1615.0,1634.0,1653.0,1672.0,1691.0,1710.0,1729.0,1748.0,1767.0,1786.0,1805.0,1824.0,1843.0,1862.0,1881.0,1900.0],"times":[1031170.0,2009053.0,3919582.0,4121913.0,5235126.0,6279340.0,6795543.0,7906720.0,8931617.0,9906779.0,10879156.0,11863284.0,12960902.0,13814366.0,14829343.0,15814156.0,16811069.0,17797324.0,18780899.0,19763411.0,20738865.0,21753449.0,22718942.0,23706022.0,25273780.0,25810434.0,27064897.0,27967527.0,28349815.0,29378933.0,30287926.0,31214709.0,32307851.0,33223958.0,34218516.0,35180635.0,36153233.0,37103229.0,38048998.0,39014346.0,40222362.0,41034517.0,41538584.0,42418883.0,43556510.0,44384993.0,45364285.0,46371083.0,47290924.0,48275221.0,49386513.0,50579653.0,51480538.0,51220511.0,52533739.0,53927491.0,54894027.0,55892735.0,56926650.0,57861325.0,58907785.0,60386379.0,60725491.0,61380744.0,61639036.0,62621958.0,63554701.0,64634605.0,66260160.0,68222697.0,68614318.0,69283997.0,68545097.0,69167902.0,70107979.0,71068115.0,72875134.0,73084079.0,73784672.0,74585978.0,75062912.0,76045287.0,77773425.0,79649824.0,79685592.0,80391665.0,79099591.0,79347530.0,80958381.0,84681355.0,83350516.0,84152224.0,87024763.0,86605396.0,87309952.0,89806999.0,89245972.0,89850549.0,90593530.0,91414567.0]}
```

--------------------------------------------------------------------------------
/aderyn_core/src/context/browser/sort_nodes.rs:
--------------------------------------------------------------------------------

```rust
use std::collections::BTreeSet;

use crate::context::workspace::{ASTNode, WorkspaceContext};

pub trait SortNodeReferencesToSequence<'a> {
    fn sort_by_src_position(self, context: &'a WorkspaceContext) -> Option<Vec<&'a ASTNode>>;
}

pub trait SortOwnedNodesToSequence<'a> {
    fn sort_by_src_position(self, context: &'a WorkspaceContext) -> Option<Vec<ASTNode>>;
}

impl<'a> SortNodeReferencesToSequence<'a> for &[&'a ASTNode] {
    fn sort_by_src_position(self, context: &'a WorkspaceContext) -> Option<Vec<&'a ASTNode>> {
        sort_by_src_position(self, context)
    }
}

impl<'a> SortOwnedNodesToSequence<'a> for &[ASTNode] {
    fn sort_by_src_position(self, context: &'a WorkspaceContext) -> Option<Vec<ASTNode>> {
        let nodes = self.iter().collect::<Vec<_>>();
        let sorted = sort_by_src_position(&nodes, context);
        if let Some(sorted_nodes) = sorted {
            let owned_nodes = sorted_nodes.iter().map(|&x| x.clone()).collect::<Vec<_>>();
            return Some(owned_nodes);
        }
        None
    }
}

fn sort_by_src_position<'a>(
    nodes: &[&'a ASTNode],
    context: &'a WorkspaceContext,
) -> Option<Vec<&'a ASTNode>> {
    if !nodes.iter().all(|x| x.id().is_some()) {
        return None;
    }

    // Make sure all these nodes belong to the same file
    let c = nodes
        .iter()
        .map(|x| {
            let key = context.get_node_sort_key_pure(x);
            key.0 // src location
        })
        .collect::<BTreeSet<_>>();

    if c.len() != 1 && c.first() != Some(&String::from("")) {
        return None;
    }

    // Now sort them
    let mut nodes = nodes.to_vec();
    nodes.sort_by(|a, b| {
        context.get_relative_location_of_nodes(a.id().unwrap(), b.id().unwrap()).unwrap()
    });
    Some(nodes)
}

```

--------------------------------------------------------------------------------
/benchmarks/push-zero-opcode/base/sample.json:
--------------------------------------------------------------------------------

```json
{"sampling_mode":"Linear","iters":[22.0,44.0,66.0,88.0,110.0,132.0,154.0,176.0,198.0,220.0,242.0,264.0,286.0,308.0,330.0,352.0,374.0,396.0,418.0,440.0,462.0,484.0,506.0,528.0,550.0,572.0,594.0,616.0,638.0,660.0,682.0,704.0,726.0,748.0,770.0,792.0,814.0,836.0,858.0,880.0,902.0,924.0,946.0,968.0,990.0,1012.0,1034.0,1056.0,1078.0,1100.0,1122.0,1144.0,1166.0,1188.0,1210.0,1232.0,1254.0,1276.0,1298.0,1320.0,1342.0,1364.0,1386.0,1408.0,1430.0,1452.0,1474.0,1496.0,1518.0,1540.0,1562.0,1584.0,1606.0,1628.0,1650.0,1672.0,1694.0,1716.0,1738.0,1760.0,1782.0,1804.0,1826.0,1848.0,1870.0,1892.0,1914.0,1936.0,1958.0,1980.0,2002.0,2024.0,2046.0,2068.0,2090.0,2112.0,2134.0,2156.0,2178.0,2200.0],"times":[979155.0,1987356.0,3603583.0,4069243.0,5053819.0,5951042.0,7230336.0,7840143.0,8883413.0,9746688.0,10689429.0,11661921.0,12636944.0,13608399.0,14620355.0,15549749.0,16529521.0,17492984.0,18458172.0,19461900.0,20402386.0,21399074.0,22325972.0,23346305.0,24261719.0,25266102.0,26192361.0,27190220.0,28176355.0,29100688.0,30098811.0,31055947.0,32033401.0,33017737.0,33970982.0,34965507.0,35732215.0,35922761.0,36901516.0,37843414.0,38811799.0,39758463.0,40708562.0,42006198.0,42442163.0,43365044.0,44281659.0,45566210.0,47017660.0,47462589.0,48307570.0,49438327.0,50455006.0,51077692.0,50518326.0,51433248.0,52469158.0,53612796.0,54352744.0,55180398.0,56292334.0,56876377.0,57703063.0,59380373.0,59604387.0,60502738.0,61528103.0,62768384.0,63232698.0,64140915.0,65022625.0,65963425.0,66916069.0,67764099.0,68304235.0,68105383.0,69746341.0,70522497.0,71374398.0,72962438.0,72544684.0,73364572.0,74268877.0,74970295.0,76044443.0,77118469.0,77992263.0,79206533.0,77653761.0,79265633.0,79791498.0,84781356.0,82111102.0,82613101.0,83090625.0,83713853.0,86863676.0,130712084.0,113620507.0,93261247.0]}
```

--------------------------------------------------------------------------------
/benchmarks/push-zero-opcode/new/sample.json:
--------------------------------------------------------------------------------

```json
{"sampling_mode":"Linear","iters":[22.0,44.0,66.0,88.0,110.0,132.0,154.0,176.0,198.0,220.0,242.0,264.0,286.0,308.0,330.0,352.0,374.0,396.0,418.0,440.0,462.0,484.0,506.0,528.0,550.0,572.0,594.0,616.0,638.0,660.0,682.0,704.0,726.0,748.0,770.0,792.0,814.0,836.0,858.0,880.0,902.0,924.0,946.0,968.0,990.0,1012.0,1034.0,1056.0,1078.0,1100.0,1122.0,1144.0,1166.0,1188.0,1210.0,1232.0,1254.0,1276.0,1298.0,1320.0,1342.0,1364.0,1386.0,1408.0,1430.0,1452.0,1474.0,1496.0,1518.0,1540.0,1562.0,1584.0,1606.0,1628.0,1650.0,1672.0,1694.0,1716.0,1738.0,1760.0,1782.0,1804.0,1826.0,1848.0,1870.0,1892.0,1914.0,1936.0,1958.0,1980.0,2002.0,2024.0,2046.0,2068.0,2090.0,2112.0,2134.0,2156.0,2178.0,2200.0],"times":[979155.0,1987356.0,3603583.0,4069243.0,5053819.0,5951042.0,7230336.0,7840143.0,8883413.0,9746688.0,10689429.0,11661921.0,12636944.0,13608399.0,14620355.0,15549749.0,16529521.0,17492984.0,18458172.0,19461900.0,20402386.0,21399074.0,22325972.0,23346305.0,24261719.0,25266102.0,26192361.0,27190220.0,28176355.0,29100688.0,30098811.0,31055947.0,32033401.0,33017737.0,33970982.0,34965507.0,35732215.0,35922761.0,36901516.0,37843414.0,38811799.0,39758463.0,40708562.0,42006198.0,42442163.0,43365044.0,44281659.0,45566210.0,47017660.0,47462589.0,48307570.0,49438327.0,50455006.0,51077692.0,50518326.0,51433248.0,52469158.0,53612796.0,54352744.0,55180398.0,56292334.0,56876377.0,57703063.0,59380373.0,59604387.0,60502738.0,61528103.0,62768384.0,63232698.0,64140915.0,65022625.0,65963425.0,66916069.0,67764099.0,68304235.0,68105383.0,69746341.0,70522497.0,71374398.0,72962438.0,72544684.0,73364572.0,74268877.0,74970295.0,76044443.0,77118469.0,77992263.0,79206533.0,77653761.0,79265633.0,79791498.0,84781356.0,82111102.0,82613101.0,83090625.0,83713853.0,86863676.0,130712084.0,113620507.0,93261247.0]}
```

--------------------------------------------------------------------------------
/tests/ast/yul_hex_literal.json:
--------------------------------------------------------------------------------

```json
{"absolutePath":"a","exportedSymbols":{"Sample":[6]},"id":7,"nodeType":"SourceUnit","nodes":[{"abstract":false,"baseContracts":[],"canonicalName":"Sample","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":6,"linearizedBaseContracts":[6],"name":"Sample","nameLocation":"9:6:1","nodeType":"ContractDefinition","nodes":[{"body":{"id":4,"nodeType":"Block","src":"47:167:1","statements":[{"AST":{"nodeType":"YulBlock","src":"66:142:1","statements":[{"nodeType":"YulVariableDeclaration","src":"80:15:1","value":{"hexValue":"74657374","kind":"string","nodeType":"YulLiteral","src":"89:6:1","type":"","value":"test"},"variables":[{"name":"a","nodeType":"YulTypedName","src":"84:1:1","type":""}]},{"nodeType":"YulVariableDeclaration","src":"108:54:1","value":{"hexValue":"112233445566778899aabbccddeeff6677889900","kind":"string","nodeType":"YulLiteral","src":"117:45:1","type":""},"variables":[{"name":"b","nodeType":"YulTypedName","src":"112:1:1","type":""}]},{"nodeType":"YulVariableDeclaration","src":"175:23:1","value":{"hexValue":"1234abcd","kind":"string","nodeType":"YulLiteral","src":"184:14:1","type":""},"variables":[{"name":"c","nodeType":"YulTypedName","src":"179:1:1","type":""}]}]},"evmVersion":"loop","externalReferences":[],"id":3,"nodeType":"InlineAssembly","src":"57:151:1"}]},"functionSelector":"26121ff0","id":5,"implemented":true,"kind":"function","modifiers":[],"name":"f","nameLocation":"31:1:1","nodeType":"FunctionDefinition","parameters":{"id":1,"nodeType":"ParameterList","parameters":[],"src":"32:2:1"},"returnParameters":{"id":2,"nodeType":"ParameterList","parameters":[],"src":"47:0:1"},"scope":6,"src":"22:192:1","stateMutability":"pure","virtual":false,"visibility":"public"}],"scope":7,"src":"0:216:1","usedErrors":[]}],"src":"0:217:1"}

```

--------------------------------------------------------------------------------
/benchmarks/unsafe-erc20-functions/base/sample.json:
--------------------------------------------------------------------------------

```json
{"sampling_mode":"Linear","iters":[24.0,48.0,72.0,96.0,120.0,144.0,168.0,192.0,216.0,240.0,264.0,288.0,312.0,336.0,360.0,384.0,408.0,432.0,456.0,480.0,504.0,528.0,552.0,576.0,600.0,624.0,648.0,672.0,696.0,720.0,744.0,768.0,792.0,816.0,840.0,864.0,888.0,912.0,936.0,960.0,984.0,1008.0,1032.0,1056.0,1080.0,1104.0,1128.0,1152.0,1176.0,1200.0,1224.0,1248.0,1272.0,1296.0,1320.0,1344.0,1368.0,1392.0,1416.0,1440.0,1464.0,1488.0,1512.0,1536.0,1560.0,1584.0,1608.0,1632.0,1656.0,1680.0,1704.0,1728.0,1752.0,1776.0,1800.0,1824.0,1848.0,1872.0,1896.0,1920.0,1944.0,1968.0,1992.0,2016.0,2040.0,2064.0,2088.0,2112.0,2136.0,2160.0,2184.0,2208.0,2232.0,2256.0,2280.0,2304.0,2328.0,2352.0,2376.0,2400.0],"times":[929925.0,2093737.0,2864412.0,4194411.0,4977021.0,5854662.0,6748239.0,7771009.0,8602381.0,9543903.0,10557953.0,12221008.0,14037438.0,14314033.0,14623265.0,15818586.0,17111159.0,18124388.0,19196431.0,19595067.0,21371561.0,24027938.0,41242219.0,35626455.0,33739004.0,25221273.0,26276578.0,27449298.0,33544788.0,30940337.0,31695670.0,30819319.0,32660674.0,34143345.0,35598315.0,37167398.0,38533699.0,38869075.0,39397942.0,41776063.0,43826327.0,43276354.0,43470099.0,44803377.0,47095595.0,50421068.0,48034482.0,49591431.0,49826823.0,49573432.0,50697645.0,52586705.0,53413817.0,54290984.0,55049895.0,65334728.0,63676702.0,58025098.0,58125584.0,59523592.0,60518922.0,62137699.0,62909172.0,63291780.0,65209807.0,91391270.0,75435165.0,70094066.0,103715111.0,77988954.0,73005449.0,73838773.0,76449486.0,75685707.0,97839547.0,87786092.0,84866911.0,82393965.0,82521273.0,84013978.0,92519354.0,92500671.0,93136186.0,90570069.0,89249987.0,90230854.0,91571489.0,90837107.0,92469954.0,94330707.0,95790286.0,96494179.0,97237940.0,97778998.0,97828431.0,98832285.0,100458356.0,106407352.0,107601737.0,105280155.0]}
```

--------------------------------------------------------------------------------
/benchmarks/unsafe-erc20-functions/new/sample.json:
--------------------------------------------------------------------------------

```json
{"sampling_mode":"Linear","iters":[24.0,48.0,72.0,96.0,120.0,144.0,168.0,192.0,216.0,240.0,264.0,288.0,312.0,336.0,360.0,384.0,408.0,432.0,456.0,480.0,504.0,528.0,552.0,576.0,600.0,624.0,648.0,672.0,696.0,720.0,744.0,768.0,792.0,816.0,840.0,864.0,888.0,912.0,936.0,960.0,984.0,1008.0,1032.0,1056.0,1080.0,1104.0,1128.0,1152.0,1176.0,1200.0,1224.0,1248.0,1272.0,1296.0,1320.0,1344.0,1368.0,1392.0,1416.0,1440.0,1464.0,1488.0,1512.0,1536.0,1560.0,1584.0,1608.0,1632.0,1656.0,1680.0,1704.0,1728.0,1752.0,1776.0,1800.0,1824.0,1848.0,1872.0,1896.0,1920.0,1944.0,1968.0,1992.0,2016.0,2040.0,2064.0,2088.0,2112.0,2136.0,2160.0,2184.0,2208.0,2232.0,2256.0,2280.0,2304.0,2328.0,2352.0,2376.0,2400.0],"times":[929925.0,2093737.0,2864412.0,4194411.0,4977021.0,5854662.0,6748239.0,7771009.0,8602381.0,9543903.0,10557953.0,12221008.0,14037438.0,14314033.0,14623265.0,15818586.0,17111159.0,18124388.0,19196431.0,19595067.0,21371561.0,24027938.0,41242219.0,35626455.0,33739004.0,25221273.0,26276578.0,27449298.0,33544788.0,30940337.0,31695670.0,30819319.0,32660674.0,34143345.0,35598315.0,37167398.0,38533699.0,38869075.0,39397942.0,41776063.0,43826327.0,43276354.0,43470099.0,44803377.0,47095595.0,50421068.0,48034482.0,49591431.0,49826823.0,49573432.0,50697645.0,52586705.0,53413817.0,54290984.0,55049895.0,65334728.0,63676702.0,58025098.0,58125584.0,59523592.0,60518922.0,62137699.0,62909172.0,63291780.0,65209807.0,91391270.0,75435165.0,70094066.0,103715111.0,77988954.0,73005449.0,73838773.0,76449486.0,75685707.0,97839547.0,87786092.0,84866911.0,82393965.0,82521273.0,84013978.0,92519354.0,92500671.0,93136186.0,90570069.0,89249987.0,90230854.0,91571489.0,90837107.0,92469954.0,94330707.0,95790286.0,96494179.0,97237940.0,97778998.0,97828431.0,98832285.0,100458356.0,106407352.0,107601737.0,105280155.0]}
```

--------------------------------------------------------------------------------
/benchmarks/require-with-string/base/sample.json:
--------------------------------------------------------------------------------

```json
{"sampling_mode":"Linear","iters":[28.0,56.0,84.0,112.0,140.0,168.0,196.0,224.0,252.0,280.0,308.0,336.0,364.0,392.0,420.0,448.0,476.0,504.0,532.0,560.0,588.0,616.0,644.0,672.0,700.0,728.0,756.0,784.0,812.0,840.0,868.0,896.0,924.0,952.0,980.0,1008.0,1036.0,1064.0,1092.0,1120.0,1148.0,1176.0,1204.0,1232.0,1260.0,1288.0,1316.0,1344.0,1372.0,1400.0,1428.0,1456.0,1484.0,1512.0,1540.0,1568.0,1596.0,1624.0,1652.0,1680.0,1708.0,1736.0,1764.0,1792.0,1820.0,1848.0,1876.0,1904.0,1932.0,1960.0,1988.0,2016.0,2044.0,2072.0,2100.0,2128.0,2156.0,2184.0,2212.0,2240.0,2268.0,2296.0,2324.0,2352.0,2380.0,2408.0,2436.0,2464.0,2492.0,2520.0,2548.0,2576.0,2604.0,2632.0,2660.0,2688.0,2716.0,2744.0,2772.0,2800.0],"times":[870813.0,1760565.0,3389167.0,3606131.0,4527295.0,5373690.0,6835794.0,7446854.0,7872217.0,8765069.0,9536346.0,14432168.0,11449746.0,12147980.0,13053849.0,14065756.0,14606836.0,15578358.0,16734206.0,17436011.0,18262915.0,19307190.0,19830348.0,20955022.0,21667118.0,22789983.0,23424531.0,24449869.0,24942586.0,26211075.0,26819094.0,28020674.0,28768906.0,29404621.0,30621998.0,31404234.0,31809719.0,32701500.0,32549816.0,33510502.0,34006577.0,34890840.0,35667876.0,36514964.0,37329220.0,38235349.0,38969524.0,39827096.0,40636421.0,41408847.0,41234248.0,41804631.0,42595951.0,43671180.0,44515702.0,45340092.0,46031190.0,46918044.0,47206351.0,46834678.0,47862596.0,48609972.0,74365689.0,49870459.0,50636606.0,51736946.0,52657908.0,53496631.0,53740980.0,54529480.0,55479854.0,56574213.0,57567029.0,57620232.0,58398330.0,59245494.0,58597903.0,59256134.0,60047750.0,61360261.0,61747286.0,61654445.0,62215905.0,62882875.0,62684865.0,63299227.0,63889593.0,64542526.0,65264340.0,66002763.0,66768310.0,67497971.0,68208988.0,68894183.0,70138132.0,71416927.0,71093454.0,71512993.0,70617408.0,71117513.0]}
```

--------------------------------------------------------------------------------
/benchmarks/require-with-string/new/sample.json:
--------------------------------------------------------------------------------

```json
{"sampling_mode":"Linear","iters":[28.0,56.0,84.0,112.0,140.0,168.0,196.0,224.0,252.0,280.0,308.0,336.0,364.0,392.0,420.0,448.0,476.0,504.0,532.0,560.0,588.0,616.0,644.0,672.0,700.0,728.0,756.0,784.0,812.0,840.0,868.0,896.0,924.0,952.0,980.0,1008.0,1036.0,1064.0,1092.0,1120.0,1148.0,1176.0,1204.0,1232.0,1260.0,1288.0,1316.0,1344.0,1372.0,1400.0,1428.0,1456.0,1484.0,1512.0,1540.0,1568.0,1596.0,1624.0,1652.0,1680.0,1708.0,1736.0,1764.0,1792.0,1820.0,1848.0,1876.0,1904.0,1932.0,1960.0,1988.0,2016.0,2044.0,2072.0,2100.0,2128.0,2156.0,2184.0,2212.0,2240.0,2268.0,2296.0,2324.0,2352.0,2380.0,2408.0,2436.0,2464.0,2492.0,2520.0,2548.0,2576.0,2604.0,2632.0,2660.0,2688.0,2716.0,2744.0,2772.0,2800.0],"times":[870813.0,1760565.0,3389167.0,3606131.0,4527295.0,5373690.0,6835794.0,7446854.0,7872217.0,8765069.0,9536346.0,14432168.0,11449746.0,12147980.0,13053849.0,14065756.0,14606836.0,15578358.0,16734206.0,17436011.0,18262915.0,19307190.0,19830348.0,20955022.0,21667118.0,22789983.0,23424531.0,24449869.0,24942586.0,26211075.0,26819094.0,28020674.0,28768906.0,29404621.0,30621998.0,31404234.0,31809719.0,32701500.0,32549816.0,33510502.0,34006577.0,34890840.0,35667876.0,36514964.0,37329220.0,38235349.0,38969524.0,39827096.0,40636421.0,41408847.0,41234248.0,41804631.0,42595951.0,43671180.0,44515702.0,45340092.0,46031190.0,46918044.0,47206351.0,46834678.0,47862596.0,48609972.0,74365689.0,49870459.0,50636606.0,51736946.0,52657908.0,53496631.0,53740980.0,54529480.0,55479854.0,56574213.0,57567029.0,57620232.0,58398330.0,59245494.0,58597903.0,59256134.0,60047750.0,61360261.0,61747286.0,61654445.0,62215905.0,62882875.0,62684865.0,63299227.0,63889593.0,64542526.0,65264340.0,66002763.0,66768310.0,67497971.0,68208988.0,68894183.0,70138132.0,71416927.0,71093454.0,71512993.0,70617408.0,71117513.0]}
```

--------------------------------------------------------------------------------
/benchmarks/unprotected-initializer/base/sample.json:
--------------------------------------------------------------------------------

```json
{"sampling_mode":"Linear","iters":[28.0,56.0,84.0,112.0,140.0,168.0,196.0,224.0,252.0,280.0,308.0,336.0,364.0,392.0,420.0,448.0,476.0,504.0,532.0,560.0,588.0,616.0,644.0,672.0,700.0,728.0,756.0,784.0,812.0,840.0,868.0,896.0,924.0,952.0,980.0,1008.0,1036.0,1064.0,1092.0,1120.0,1148.0,1176.0,1204.0,1232.0,1260.0,1288.0,1316.0,1344.0,1372.0,1400.0,1428.0,1456.0,1484.0,1512.0,1540.0,1568.0,1596.0,1624.0,1652.0,1680.0,1708.0,1736.0,1764.0,1792.0,1820.0,1848.0,1876.0,1904.0,1932.0,1960.0,1988.0,2016.0,2044.0,2072.0,2100.0,2128.0,2156.0,2184.0,2212.0,2240.0,2268.0,2296.0,2324.0,2352.0,2380.0,2408.0,2436.0,2464.0,2492.0,2520.0,2548.0,2576.0,2604.0,2632.0,2660.0,2688.0,2716.0,2744.0,2772.0,2800.0],"times":[908821.0,1815806.0,4081615.0,4197224.0,4879906.0,5629976.0,6947133.0,7274569.0,8187997.0,9066644.0,10671319.0,12204946.0,12173524.0,14135027.0,14337931.0,15500387.0,15825067.0,17137899.0,17662780.0,18338251.0,19112292.0,19960486.0,20756119.0,21764780.0,22444127.0,23255341.0,24577727.0,25251682.0,25942556.0,27988154.0,28770655.0,28728922.0,30196579.0,30967421.0,31373543.0,32991890.0,33852487.0,34705800.0,36005677.0,39949371.0,42643657.0,42091536.0,42990021.0,41210378.0,42339067.0,43302004.0,44355634.0,47730627.0,48375438.0,47019774.0,49614727.0,50272495.0,53125068.0,51800540.0,54127752.0,53879477.0,52994997.0,56050281.0,57244885.0,56434229.0,56629303.0,57292157.0,55487985.0,56056212.0,57692878.0,59458082.0,63054675.0,64044783.0,62361334.0,76653749.0,70135044.0,64266473.0,67121954.0,64375936.0,68310913.0,67531109.0,79274298.0,72378925.0,67560177.0,70500775.0,70732523.0,87519567.0,81579462.0,78620645.0,85601614.0,75997868.0,75985925.0,78749252.0,79483815.0,81271664.0,84356569.0,82997539.0,82321589.0,80451884.0,80191041.0,80634887.0,81512775.0,83619433.0,84087921.0,84512625.0]}
```

--------------------------------------------------------------------------------
/benchmarks/unprotected-initializer/new/sample.json:
--------------------------------------------------------------------------------

```json
{"sampling_mode":"Linear","iters":[28.0,56.0,84.0,112.0,140.0,168.0,196.0,224.0,252.0,280.0,308.0,336.0,364.0,392.0,420.0,448.0,476.0,504.0,532.0,560.0,588.0,616.0,644.0,672.0,700.0,728.0,756.0,784.0,812.0,840.0,868.0,896.0,924.0,952.0,980.0,1008.0,1036.0,1064.0,1092.0,1120.0,1148.0,1176.0,1204.0,1232.0,1260.0,1288.0,1316.0,1344.0,1372.0,1400.0,1428.0,1456.0,1484.0,1512.0,1540.0,1568.0,1596.0,1624.0,1652.0,1680.0,1708.0,1736.0,1764.0,1792.0,1820.0,1848.0,1876.0,1904.0,1932.0,1960.0,1988.0,2016.0,2044.0,2072.0,2100.0,2128.0,2156.0,2184.0,2212.0,2240.0,2268.0,2296.0,2324.0,2352.0,2380.0,2408.0,2436.0,2464.0,2492.0,2520.0,2548.0,2576.0,2604.0,2632.0,2660.0,2688.0,2716.0,2744.0,2772.0,2800.0],"times":[908821.0,1815806.0,4081615.0,4197224.0,4879906.0,5629976.0,6947133.0,7274569.0,8187997.0,9066644.0,10671319.0,12204946.0,12173524.0,14135027.0,14337931.0,15500387.0,15825067.0,17137899.0,17662780.0,18338251.0,19112292.0,19960486.0,20756119.0,21764780.0,22444127.0,23255341.0,24577727.0,25251682.0,25942556.0,27988154.0,28770655.0,28728922.0,30196579.0,30967421.0,31373543.0,32991890.0,33852487.0,34705800.0,36005677.0,39949371.0,42643657.0,42091536.0,42990021.0,41210378.0,42339067.0,43302004.0,44355634.0,47730627.0,48375438.0,47019774.0,49614727.0,50272495.0,53125068.0,51800540.0,54127752.0,53879477.0,52994997.0,56050281.0,57244885.0,56434229.0,56629303.0,57292157.0,55487985.0,56056212.0,57692878.0,59458082.0,63054675.0,64044783.0,62361334.0,76653749.0,70135044.0,64266473.0,67121954.0,64375936.0,68310913.0,67531109.0,79274298.0,72378925.0,67560177.0,70500775.0,70732523.0,87519567.0,81579462.0,78620645.0,85601614.0,75997868.0,75985925.0,78749252.0,79483815.0,81271664.0,84356569.0,82997539.0,82321589.0,80451884.0,80191041.0,80634887.0,81512775.0,83619433.0,84087921.0,84512625.0]}
```

--------------------------------------------------------------------------------
/benchmarks/unindexed-events/base/sample.json:
--------------------------------------------------------------------------------

```json
{"sampling_mode":"Linear","iters":[35.0,70.0,105.0,140.0,175.0,210.0,245.0,280.0,315.0,350.0,385.0,420.0,455.0,490.0,525.0,560.0,595.0,630.0,665.0,700.0,735.0,770.0,805.0,840.0,875.0,910.0,945.0,980.0,1015.0,1050.0,1085.0,1120.0,1155.0,1190.0,1225.0,1260.0,1295.0,1330.0,1365.0,1400.0,1435.0,1470.0,1505.0,1540.0,1575.0,1610.0,1645.0,1680.0,1715.0,1750.0,1785.0,1820.0,1855.0,1890.0,1925.0,1960.0,1995.0,2030.0,2065.0,2100.0,2135.0,2170.0,2205.0,2240.0,2275.0,2310.0,2345.0,2380.0,2415.0,2450.0,2485.0,2520.0,2555.0,2590.0,2625.0,2660.0,2695.0,2730.0,2765.0,2800.0,2835.0,2870.0,2905.0,2940.0,2975.0,3010.0,3045.0,3080.0,3115.0,3150.0,3185.0,3220.0,3255.0,3290.0,3325.0,3360.0,3395.0,3430.0,3465.0,3500.0],"times":[958335.0,2077426.0,3185363.0,3839540.0,4855470.0,5856547.0,6714552.0,7576985.0,8559158.0,9553609.0,10622951.0,11455098.0,12529987.0,13416241.0,14583937.0,15384722.0,16321950.0,17913793.0,18412333.0,19231434.0,20250361.0,22821402.0,24593994.0,26958507.0,32381082.0,30267709.0,29684783.0,31159819.0,37094826.0,32347334.0,30708464.0,31204500.0,32415451.0,33346885.0,34281517.0,35289356.0,36515392.0,37937713.0,38106612.0,39073310.0,40506831.0,41577082.0,42658594.0,43221904.0,44146137.0,45349290.0,45957451.0,46804776.0,47353263.0,48082385.0,48741371.0,50405094.0,55101631.0,59154211.0,56297585.0,57477327.0,57770775.0,57550305.0,58493162.0,60235349.0,60649002.0,61349300.0,62516997.0,63602039.0,64428546.0,65850670.0,67249640.0,68171330.0,69333895.0,69085150.0,69950527.0,71762058.0,72558434.0,72911579.0,73791099.0,75564498.0,74437068.0,74052743.0,77328712.0,84143392.0,84322928.0,86386410.0,85114453.0,82962388.0,84264234.0,86357109.0,87040842.0,86911194.0,88239181.0,89365611.0,90769515.0,91082767.0,92247865.0,96152200.0,94705760.0,95865387.0,96702121.0,98328359.0,99600925.0,101679150.0]}
```

--------------------------------------------------------------------------------
/benchmarks/unindexed-events/new/sample.json:
--------------------------------------------------------------------------------

```json
{"sampling_mode":"Linear","iters":[35.0,70.0,105.0,140.0,175.0,210.0,245.0,280.0,315.0,350.0,385.0,420.0,455.0,490.0,525.0,560.0,595.0,630.0,665.0,700.0,735.0,770.0,805.0,840.0,875.0,910.0,945.0,980.0,1015.0,1050.0,1085.0,1120.0,1155.0,1190.0,1225.0,1260.0,1295.0,1330.0,1365.0,1400.0,1435.0,1470.0,1505.0,1540.0,1575.0,1610.0,1645.0,1680.0,1715.0,1750.0,1785.0,1820.0,1855.0,1890.0,1925.0,1960.0,1995.0,2030.0,2065.0,2100.0,2135.0,2170.0,2205.0,2240.0,2275.0,2310.0,2345.0,2380.0,2415.0,2450.0,2485.0,2520.0,2555.0,2590.0,2625.0,2660.0,2695.0,2730.0,2765.0,2800.0,2835.0,2870.0,2905.0,2940.0,2975.0,3010.0,3045.0,3080.0,3115.0,3150.0,3185.0,3220.0,3255.0,3290.0,3325.0,3360.0,3395.0,3430.0,3465.0,3500.0],"times":[958335.0,2077426.0,3185363.0,3839540.0,4855470.0,5856547.0,6714552.0,7576985.0,8559158.0,9553609.0,10622951.0,11455098.0,12529987.0,13416241.0,14583937.0,15384722.0,16321950.0,17913793.0,18412333.0,19231434.0,20250361.0,22821402.0,24593994.0,26958507.0,32381082.0,30267709.0,29684783.0,31159819.0,37094826.0,32347334.0,30708464.0,31204500.0,32415451.0,33346885.0,34281517.0,35289356.0,36515392.0,37937713.0,38106612.0,39073310.0,40506831.0,41577082.0,42658594.0,43221904.0,44146137.0,45349290.0,45957451.0,46804776.0,47353263.0,48082385.0,48741371.0,50405094.0,55101631.0,59154211.0,56297585.0,57477327.0,57770775.0,57550305.0,58493162.0,60235349.0,60649002.0,61349300.0,62516997.0,63602039.0,64428546.0,65850670.0,67249640.0,68171330.0,69333895.0,69085150.0,69950527.0,71762058.0,72558434.0,72911579.0,73791099.0,75564498.0,74437068.0,74052743.0,77328712.0,84143392.0,84322928.0,86386410.0,85114453.0,82962388.0,84264234.0,86357109.0,87040842.0,86911194.0,88239181.0,89365611.0,90769515.0,91082767.0,92247865.0,96152200.0,94705760.0,95865387.0,96702121.0,98328359.0,99600925.0,101679150.0]}
```

--------------------------------------------------------------------------------
/benchmarks/useless-modifier/base/sample.json:
--------------------------------------------------------------------------------

```json
{"sampling_mode":"Linear","iters":[38.0,76.0,114.0,152.0,190.0,228.0,266.0,304.0,342.0,380.0,418.0,456.0,494.0,532.0,570.0,608.0,646.0,684.0,722.0,760.0,798.0,836.0,874.0,912.0,950.0,988.0,1026.0,1064.0,1102.0,1140.0,1178.0,1216.0,1254.0,1292.0,1330.0,1368.0,1406.0,1444.0,1482.0,1520.0,1558.0,1596.0,1634.0,1672.0,1710.0,1748.0,1786.0,1824.0,1862.0,1900.0,1938.0,1976.0,2014.0,2052.0,2090.0,2128.0,2166.0,2204.0,2242.0,2280.0,2318.0,2356.0,2394.0,2432.0,2470.0,2508.0,2546.0,2584.0,2622.0,2660.0,2698.0,2736.0,2774.0,2812.0,2850.0,2888.0,2926.0,2964.0,3002.0,3040.0,3078.0,3116.0,3154.0,3192.0,3230.0,3268.0,3306.0,3344.0,3382.0,3420.0,3458.0,3496.0,3534.0,3572.0,3610.0,3648.0,3686.0,3724.0,3762.0,3800.0],"times":[1000898.0,2000658.0,3807676.0,4091968.0,5206770.0,6350277.0,6859289.0,7841732.0,8817467.0,9799552.0,10779046.0,11759737.0,12733736.0,13758813.0,14704430.0,15680763.0,16659286.0,17640217.0,18625698.0,19629828.0,20592056.0,21599075.0,22666452.0,23909303.0,24932891.0,25895033.0,27572095.0,26676194.0,27622190.0,28563879.0,29557504.0,30507407.0,31437487.0,32594366.0,34333954.0,35380791.0,36235845.0,36859005.0,38093053.0,38454785.0,39468062.0,40914708.0,42229769.0,43156227.0,43457740.0,44458366.0,44308156.0,45653806.0,46398753.0,47565302.0,48569982.0,49212044.0,50313290.0,51570394.0,52407741.0,51777198.0,52736932.0,53669727.0,54607475.0,55546355.0,57049228.0,59755668.0,60082371.0,61267901.0,62096520.0,62598997.0,62979669.0,64034286.0,64981992.0,66508255.0,66074139.0,66681259.0,67597767.0,68264472.0,68592499.0,69514326.0,71079081.0,71982434.0,72176626.0,73020188.0,73861073.0,74895962.0,76078298.0,77085484.0,76528190.0,78570632.0,79045423.0,79948318.0,79543362.0,80751638.0,83012160.0,82077868.0,83052316.0,83754813.0,84337927.0,86710827.0,87147209.0,87471193.0,95634828.0,91797079.0]}
```
Page 3/94FirstPrevNextLast