Solsa Report for {{ contract_file }}

solsa version: {{ solsa_version }}
{% if source %}

Contract source code

{{ source }}
{% endif %}

solc

{% if solc_out is defined %}

Solc version: {{solc_out.version}}

{% for contract_name, compilation_output in solc_out.contracts %}

Contract {{ contract_name }}

ABI
{{compilation_output.abi}}
BIN
{{compilation_output.bin}}
{% endfor %} {% elif solc_err is defined %}

Compilation failed

                            {{solc_err}}
                        
{% endif %}

Solium

{% if solium_out is defined %} {% if solium_out | length %} {% else %}

No issues found

{% endif %} {% elif solium_err is defined %}

Solium analysis failed

                            {{solium_err}}
                        
{% endif %}

Mythril

{% if myth_out is defined %} {% if myth_out.success %} {% if myth_out.issues | length %}

Issues found

{% for issue in myth_out.issues %}

{{issue.title}} ({{issue.type}})

{{issue.description}}

{{issue.filename}}:{{issue.lineno}}

{{issue.debug}}
{% endfor %} {% else %}

No issues encountered

{%endif%} {% else %}

Mythril analysis failed

                                        {{myth_out.error}}
                                    
{% endif %} {% elif myth_err is defined %}

Mythril analysis failed

                                {{myth_err}}
                            
{% endif %}

Oyente

{% if oyente_out is defined %}
{% for filename, file in oyente_out %}
{{filename}}
{% for contract_name, contract in file %}
{{contract_name}}
EVM Coverage: {{contract.evm_code_coverage}}% {% if contract.evm_code_coverage | float < 80 %}(this is a low coverage value, consider running oyente locally with a higher depth setting){% endif %}
Integer Underflow: {{contract.vulnerabilities.integer_underflow | length > 0}}
Integer Overflow: {{contract.vulnerabilities.integer_underflow | length > 0}}
Callstack Depth Attack Vulnerability: {{contract.vulnerabilities.callstack | length > 0}}
Transaction-Ordering Dependence (TOD): {{contract.vulnerabilities.money_concurrency | length > 0}}
Timestamp Dependency: {{contract.vulnerabilities.time_dependency | length > 0}}
Re-Entrancy Vulnerability: {{contract.vulnerabilities.reentrancy | length > 0}}
Assertion failure: {{contract.vulnerabilities.assertion_failure | length > 0}}
Parity MultiSig Bug 2: {{contract.vulnerabilities.parity_multisig_bug_2 | length > 0}}
{% endfor %} {% endfor %}
{% elif oyente_err is defined %}

Oyente analysis failed

                                {{oyente_err}}
                            
{% endif %}

Summary of analysis

solc
{% if solc_out is defined %}
OK
{% else %}
Failed
{% endif%}
solium
{% if solium_out is defined %} {% if solium_out | length == 0 %}
OK
{% else %}
Some issues found
{% endif %} {% else %}
Failed
{% endif%}
mythril
{% if myth_out is defined and myth_out.success %} {% if myth_out.issues | length == 0 %}
OK
{% else %}
Some issues found
{% endif %} {% else %}
Failed
{% endif%}
oyente
{% if oyente_out is defined %} {% if oyente_issues is defined and oyente_issues %}
Some issues found
{% else %}
OK
{% endif %} {% else %}
Failed
{% endif%}