2021-03-31 15:31:23 +00:00
|
|
|
{"auxiliaryInputRequested":{"smtlib2queries":{"0x9190f95880d71b6c4636672b262f07430b161f369cc56816ad265e4fa1ee1f3a":"(set-option :produce-models true)
|
2021-01-19 11:56:22 +00:00
|
|
|
(set-logic ALL)
|
|
|
|
(declare-fun |error_0| () Int)
|
|
|
|
(declare-fun |this_0| () Int)
|
|
|
|
(declare-datatypes ((|state_type| 0)) (((|state_type| (|balances| (Array Int Int))))))
|
|
|
|
(declare-fun |state_0| () |state_type|)
|
|
|
|
(declare-datatypes ((|bytes_tuple| 0)) (((|bytes_tuple| (|bytes_tuple_accessor_array| (Array Int Int)) (|bytes_tuple_accessor_length| Int)))))
|
|
|
|
(declare-datatypes ((|tx_type| 0)) (((|tx_type| (|block.chainid| Int) (|block.coinbase| Int) (|block.difficulty| Int) (|block.gaslimit| Int) (|block.number| Int) (|block.timestamp| Int) (|blockhash| (Array Int Int)) (|msg.data| |bytes_tuple|) (|msg.sender| Int) (|msg.sig| Int) (|msg.value| Int) (|tx.gasprice| Int) (|tx.origin| Int)))))
|
|
|
|
(declare-fun |tx_0| () |tx_type|)
|
|
|
|
(declare-datatypes ((|ecrecover_input_type| 0)) (((|ecrecover_input_type| (|hash| Int) (|v| Int) (|r| Int) (|s| Int)))))
|
|
|
|
(declare-datatypes ((|crypto_type| 0)) (((|crypto_type| (|ecrecover| (Array |ecrecover_input_type| Int)) (|keccak256| (Array |bytes_tuple| Int)) (|ripemd160| (Array |bytes_tuple| Int)) (|sha256| (Array |bytes_tuple| Int))))))
|
|
|
|
(declare-fun |crypto_0| () |crypto_type|)
|
|
|
|
(declare-datatypes ((|abi_type| 0)) (((|abi_type|))))
|
|
|
|
(declare-fun |abi_0| () |abi_type|)
|
|
|
|
(declare-datatypes ((|uint[]_tuple| 0)) (((|uint[]_tuple| (|uint[]_tuple_accessor_array| (Array Int Int)) (|uint[]_tuple_accessor_length| Int)))))
|
2021-03-31 15:31:23 +00:00
|
|
|
(declare-fun |arr_4_length_pair_0| () |uint[]_tuple|)
|
|
|
|
(declare-fun |a_6_0| () Int)
|
|
|
|
(declare-fun |x_8_0| () Int)
|
|
|
|
(declare-fun |arr_4_length_pair_1| () |uint[]_tuple|)
|
|
|
|
(declare-fun |expr_12_0| () Int)
|
2021-01-19 11:56:22 +00:00
|
|
|
(declare-fun |expr_13_0| () Int)
|
2021-03-31 15:31:23 +00:00
|
|
|
(declare-fun |expr_14_1| () Bool)
|
2021-01-19 11:56:22 +00:00
|
|
|
|
2021-03-31 15:31:23 +00:00
|
|
|
(assert (and (and (and true true) (and (= expr_14_1 (>= expr_12_0 expr_13_0)) (and (implies (and true true) true) (and (= expr_13_0 0) (and (implies (and true true) (and (>= expr_12_0 0) (<= expr_12_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_12_0 x_8_0) (and (and (>= x_8_0 0) (<= x_8_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= a_6_0 0) (<= a_6_0 1461501637330902918203684832716283019655932542975)) (and (>= (|uint[]_tuple_accessor_length| arr_4_length_pair_1) 0) (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 1917212865)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 114)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 70)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 88)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 193)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true)))))))))) (not expr_14_1)))
|
2021-01-19 11:56:22 +00:00
|
|
|
(check-sat)
|
2021-03-31 15:31:23 +00:00
|
|
|
","0xd32caa9b049de053b56e6d79b6b17e718634bff64ba913b2f28e5369947d4e3b":"(set-option :produce-models true)
|
2020-12-30 13:35:48 +00:00
|
|
|
(set-logic ALL)
|
|
|
|
(declare-fun |error_0| () Int)
|
|
|
|
(declare-fun |this_0| () Int)
|
|
|
|
(declare-datatypes ((|state_type| 0)) (((|state_type| (|balances| (Array Int Int))))))
|
|
|
|
(declare-fun |state_0| () |state_type|)
|
|
|
|
(declare-datatypes ((|bytes_tuple| 0)) (((|bytes_tuple| (|bytes_tuple_accessor_array| (Array Int Int)) (|bytes_tuple_accessor_length| Int)))))
|
|
|
|
(declare-datatypes ((|tx_type| 0)) (((|tx_type| (|block.chainid| Int) (|block.coinbase| Int) (|block.difficulty| Int) (|block.gaslimit| Int) (|block.number| Int) (|block.timestamp| Int) (|blockhash| (Array Int Int)) (|msg.data| |bytes_tuple|) (|msg.sender| Int) (|msg.sig| Int) (|msg.value| Int) (|tx.gasprice| Int) (|tx.origin| Int)))))
|
|
|
|
(declare-fun |tx_0| () |tx_type|)
|
|
|
|
(declare-datatypes ((|ecrecover_input_type| 0)) (((|ecrecover_input_type| (|hash| Int) (|v| Int) (|r| Int) (|s| Int)))))
|
|
|
|
(declare-datatypes ((|crypto_type| 0)) (((|crypto_type| (|ecrecover| (Array |ecrecover_input_type| Int)) (|keccak256| (Array |bytes_tuple| Int)) (|ripemd160| (Array |bytes_tuple| Int)) (|sha256| (Array |bytes_tuple| Int))))))
|
|
|
|
(declare-fun |crypto_0| () |crypto_type|)
|
|
|
|
(declare-datatypes ((|abi_type| 0)) (((|abi_type|))))
|
|
|
|
(declare-fun |abi_0| () |abi_type|)
|
|
|
|
(declare-datatypes ((|uint[]_tuple| 0)) (((|uint[]_tuple| (|uint[]_tuple_accessor_array| (Array Int Int)) (|uint[]_tuple_accessor_length| Int)))))
|
2021-03-31 15:31:23 +00:00
|
|
|
(declare-fun |arr_4_length_pair_0| () |uint[]_tuple|)
|
|
|
|
(declare-fun |a_6_0| () Int)
|
|
|
|
(declare-fun |x_8_0| () Int)
|
|
|
|
(declare-fun |arr_4_length_pair_1| () |uint[]_tuple|)
|
|
|
|
(declare-fun |expr_12_0| () Int)
|
2020-12-30 13:35:48 +00:00
|
|
|
(declare-fun |expr_13_0| () Int)
|
2021-03-31 15:31:23 +00:00
|
|
|
(declare-fun |expr_14_1| () Bool)
|
|
|
|
(declare-fun |expr_17_0| () Int)
|
|
|
|
(declare-fun |expr_18_1| () Int)
|
|
|
|
(declare-fun |x_8_1| () Int)
|
|
|
|
(declare-fun |expr_20_0| () Int)
|
|
|
|
(declare-fun |expr_25_1| () Int)
|
|
|
|
(declare-fun |expr_26_1| () Int)
|
|
|
|
(declare-fun |expr_28_0| () Int)
|
|
|
|
(declare-fun |expr_29_0| () Int)
|
|
|
|
(declare-fun |d_div_mod_14_0| () Int)
|
|
|
|
(declare-fun |r_div_mod_14_0| () Int)
|
|
|
|
(declare-fun |expr_30_1| () Int)
|
|
|
|
(declare-fun |expr_32_0| () Int)
|
|
|
|
(declare-fun |expr_35_0| () Int)
|
|
|
|
(declare-fun |state_1| () |state_type|)
|
|
|
|
(declare-fun |state_2| () |state_type|)
|
|
|
|
(declare-fun |state_3| () |state_type|)
|
|
|
|
(declare-fun |expr_39_0| () Int)
|
|
|
|
(declare-fun |expr_40_0| () Int)
|
|
|
|
(declare-fun |expr_41_1| () Bool)
|
|
|
|
(declare-fun |expr_44_length_pair_0| () |uint[]_tuple|)
|
|
|
|
(declare-fun |expr_44_length_pair_1| () |uint[]_tuple|)
|
|
|
|
(declare-fun |arr_4_length_pair_2| () |uint[]_tuple|)
|
|
|
|
(declare-fun |expr_49_length_pair_0| () |uint[]_tuple|)
|
|
|
|
(declare-fun |expr_50_0| () Int)
|
|
|
|
(declare-fun |expr_51_1| () Int)
|
2020-12-30 13:35:48 +00:00
|
|
|
|
2021-03-31 15:31:23 +00:00
|
|
|
(assert (and (and (and true true) (and (implies (and true true) (and (>= expr_35_0 0) (<= expr_35_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_35_0 x_8_1) (and (implies (and true true) (and (>= expr_32_0 0) (<= expr_32_0 1461501637330902918203684832716283019655932542975))) (and (= expr_32_0 a_6_0) (and (implies (and true true) (and (>= expr_30_1 0) (<= expr_30_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_30_1 (ite (= expr_29_0 0) 0 d_div_mod_14_0)) (and (and (<= 0 r_div_mod_14_0) (or (= expr_29_0 0) (< r_div_mod_14_0 expr_29_0))) (and (= (+ (* d_div_mod_14_0 expr_29_0) r_div_mod_14_0) expr_28_0) (and (implies (and true true) (and (>= expr_29_0 0) (<= expr_29_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_29_0 x_8_1) (and (implies (and true true) true) (and (= expr_28_0 2) (and (implies (and true true) (and (>= expr_26_1 0) (<= expr_26_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_26_1 (+ expr_20_0 expr_25_1)) (and (implies (and true true) (and (>= expr_25_1 0) (<= expr_25_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_25_1 115792089237316195423570985008687907853269984665640564039457584007913129639935) (and (implies (and true true) (and (>= expr_20_0 0) (<= expr_20_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_20_0 x_8_1) (and (ite (and true true) (= x_8_1 (- expr_17_0 1)) (= x_8_1 x_8_0)) (and (implies (and true true) (and (>= expr_18_1 0) (<= expr_18_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_18_1 (- expr_17_0 1)) (and (implies (and true true) (and (>= expr_17_0 0) (<= expr_17_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_17_0 x_8_0) (and (implies (and true true) expr_14_1) (and (= expr_14_1 (>= expr_12_0 expr_13_0)) (and (implies (and true true) true) (and (= expr_13_0 0) (and (implies (and true true) (and (>= expr_12_0 0) (<= expr_12_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_12_0 x_8_0) (and (and (>= x_8_0 0) (<= x_8_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= a_6_0 0) (<= a_6_0 1461501637330902918203684832716283019655932542975)) (and (>= (|uint[]_tuple_accessor_length| arr_4_length_pair_1) 0) (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 1917212865)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0)
|
|
|
|
(declare-const |EVALEXPR_0| Int)
|
|
|
|
(assert (= |EVALEXPR_0| a_6_0))
|
|
|
|
(declare-const |EVALEXPR_1| Int)
|
|
|
|
(assert (= |EVALEXPR_1| x_8_1))
|
2020-12-30 13:35:48 +00:00
|
|
|
(check-sat)
|
2021-03-31 15:31:23 +00:00
|
|
|
(get-value (|EVALEXPR_0| |EVALEXPR_1| ))
|
|
|
|
","0xdb117433a9ec32d2f491750fb369a0d49c0afb6cad5f9ea3e1739ef8b87cdf4f":"(set-option :produce-models true)
|
2021-01-27 06:59:58 +00:00
|
|
|
(set-logic ALL)
|
|
|
|
(declare-fun |error_0| () Int)
|
|
|
|
(declare-fun |this_0| () Int)
|
|
|
|
(declare-datatypes ((|state_type| 0)) (((|state_type| (|balances| (Array Int Int))))))
|
|
|
|
(declare-fun |state_0| () |state_type|)
|
|
|
|
(declare-datatypes ((|bytes_tuple| 0)) (((|bytes_tuple| (|bytes_tuple_accessor_array| (Array Int Int)) (|bytes_tuple_accessor_length| Int)))))
|
|
|
|
(declare-datatypes ((|tx_type| 0)) (((|tx_type| (|block.chainid| Int) (|block.coinbase| Int) (|block.difficulty| Int) (|block.gaslimit| Int) (|block.number| Int) (|block.timestamp| Int) (|blockhash| (Array Int Int)) (|msg.data| |bytes_tuple|) (|msg.sender| Int) (|msg.sig| Int) (|msg.value| Int) (|tx.gasprice| Int) (|tx.origin| Int)))))
|
|
|
|
(declare-fun |tx_0| () |tx_type|)
|
|
|
|
(declare-datatypes ((|ecrecover_input_type| 0)) (((|ecrecover_input_type| (|hash| Int) (|v| Int) (|r| Int) (|s| Int)))))
|
|
|
|
(declare-datatypes ((|crypto_type| 0)) (((|crypto_type| (|ecrecover| (Array |ecrecover_input_type| Int)) (|keccak256| (Array |bytes_tuple| Int)) (|ripemd160| (Array |bytes_tuple| Int)) (|sha256| (Array |bytes_tuple| Int))))))
|
|
|
|
(declare-fun |crypto_0| () |crypto_type|)
|
|
|
|
(declare-datatypes ((|abi_type| 0)) (((|abi_type|))))
|
|
|
|
(declare-fun |abi_0| () |abi_type|)
|
|
|
|
(declare-datatypes ((|uint[]_tuple| 0)) (((|uint[]_tuple| (|uint[]_tuple_accessor_array| (Array Int Int)) (|uint[]_tuple_accessor_length| Int)))))
|
2021-03-31 15:31:23 +00:00
|
|
|
(declare-fun |arr_4_length_pair_0| () |uint[]_tuple|)
|
|
|
|
(declare-fun |a_6_0| () Int)
|
|
|
|
(declare-fun |x_8_0| () Int)
|
|
|
|
(declare-fun |arr_4_length_pair_1| () |uint[]_tuple|)
|
|
|
|
(declare-fun |expr_12_0| () Int)
|
2021-01-27 06:59:58 +00:00
|
|
|
(declare-fun |expr_13_0| () Int)
|
2021-03-31 15:31:23 +00:00
|
|
|
(declare-fun |expr_14_1| () Bool)
|
2021-01-27 06:59:58 +00:00
|
|
|
|
2021-03-31 15:31:23 +00:00
|
|
|
(assert (and (and (and true true) (and (= expr_14_1 (>= expr_12_0 expr_13_0)) (and (implies (and true true) true) (and (= expr_13_0 0) (and (implies (and true true) (and (>= expr_12_0 0) (<= expr_12_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_12_0 x_8_0) (and (and (>= x_8_0 0) (<= x_8_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= a_6_0 0) (<= a_6_0 1461501637330902918203684832716283019655932542975)) (and (>= (|uint[]_tuple_accessor_length| arr_4_length_pair_1) 0) (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 1917212865)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 114)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 70)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 88)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 193)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true)))))))))) expr_14_1))
|
2021-01-27 06:59:58 +00:00
|
|
|
(check-sat)
|
2021-01-19 11:56:22 +00:00
|
|
|
"}},"errors":[{"component":"general","errorCode":"3944","formattedMessage":"Warning: CHC: Underflow (resulting value less than 0) happens here.
|
|
|
|
Counterexample:
|
|
|
|
arr = []
|
|
|
|
a = 0
|
|
|
|
x = 0
|
|
|
|
|
|
|
|
Transaction trace:
|
|
|
|
test.constructor()
|
|
|
|
State: arr = []
|
|
|
|
test.f(0, 0)
|
|
|
|
--> A:8:7:
|
|
|
|
|
|
|
|
|
8 | \t\t\t\t\t\t--x;
|
|
|
|
| \t\t\t\t\t\t^^^
|
|
|
|
|
|
|
|
","message":"CHC: Underflow (resulting value less than 0) happens here.
|
|
|
|
Counterexample:
|
|
|
|
arr = []
|
|
|
|
a = 0
|
|
|
|
x = 0
|
|
|
|
|
|
|
|
Transaction trace:
|
|
|
|
test.constructor()
|
|
|
|
State: arr = []
|
2021-03-31 15:31:23 +00:00
|
|
|
test.f(0, 0)","severity":"warning","sourceLocation":{"end":177,"file":"A","start":174},"type":"Warning"},{"component":"general","errorCode":"4984","formattedMessage":"Warning: CHC: Overflow (resulting value larger than 2**256 - 1) happens here.
|
2021-01-19 11:56:22 +00:00
|
|
|
Counterexample:
|
|
|
|
arr = []
|
|
|
|
a = 0
|
|
|
|
x = 1
|
|
|
|
|
|
|
|
Transaction trace:
|
|
|
|
test.constructor()
|
|
|
|
State: arr = []
|
|
|
|
test.f(0, 2)
|
|
|
|
--> A:9:7:
|
|
|
|
|
|
|
|
|
9 | \t\t\t\t\t\tx + type(uint).max;
|
|
|
|
| \t\t\t\t\t\t^^^^^^^^^^^^^^^^^^
|
|
|
|
|
|
|
|
","message":"CHC: Overflow (resulting value larger than 2**256 - 1) happens here.
|
|
|
|
Counterexample:
|
|
|
|
arr = []
|
|
|
|
a = 0
|
|
|
|
x = 1
|
|
|
|
|
|
|
|
Transaction trace:
|
|
|
|
test.constructor()
|
|
|
|
State: arr = []
|
2021-03-31 15:31:23 +00:00
|
|
|
test.f(0, 2)","severity":"warning","sourceLocation":{"end":203,"file":"A","start":185},"type":"Warning"},{"component":"general","errorCode":"4281","formattedMessage":"Warning: CHC: Division by zero happens here.
|
2021-01-19 11:56:22 +00:00
|
|
|
Counterexample:
|
|
|
|
arr = []
|
|
|
|
a = 0
|
|
|
|
x = 0
|
|
|
|
|
|
|
|
Transaction trace:
|
|
|
|
test.constructor()
|
|
|
|
State: arr = []
|
|
|
|
test.f(0, 1)
|
|
|
|
--> A:10:7:
|
|
|
|
|
|
|
|
|
10 | \t\t\t\t\t\t2 / x;
|
|
|
|
| \t\t\t\t\t\t^^^^^
|
|
|
|
|
|
|
|
","message":"CHC: Division by zero happens here.
|
|
|
|
Counterexample:
|
|
|
|
arr = []
|
|
|
|
a = 0
|
|
|
|
x = 0
|
|
|
|
|
|
|
|
Transaction trace:
|
|
|
|
test.constructor()
|
|
|
|
State: arr = []
|
2021-03-31 15:31:23 +00:00
|
|
|
test.f(0, 1)","severity":"warning","sourceLocation":{"end":216,"file":"A","start":211},"type":"Warning"},{"component":"general","errorCode":"6328","formattedMessage":"Warning: CHC: Assertion violation happens here.
|
2021-01-19 11:56:22 +00:00
|
|
|
Counterexample:
|
|
|
|
arr = []
|
|
|
|
a = 0
|
|
|
|
x = 0
|
|
|
|
|
|
|
|
Transaction trace:
|
|
|
|
test.constructor()
|
|
|
|
State: arr = []
|
|
|
|
test.f(0, 1)
|
|
|
|
--> A:12:7:
|
|
|
|
|
|
|
|
|
12 | \t\t\t\t\t\tassert(x > 0);
|
|
|
|
| \t\t\t\t\t\t^^^^^^^^^^^^^
|
|
|
|
|
|
|
|
","message":"CHC: Assertion violation happens here.
|
|
|
|
Counterexample:
|
|
|
|
arr = []
|
|
|
|
a = 0
|
|
|
|
x = 0
|
|
|
|
|
|
|
|
Transaction trace:
|
|
|
|
test.constructor()
|
|
|
|
State: arr = []
|
2021-03-31 15:31:23 +00:00
|
|
|
test.f(0, 1)","severity":"warning","sourceLocation":{"end":258,"file":"A","start":245},"type":"Warning"},{"component":"general","errorCode":"2529","formattedMessage":"Warning: CHC: Empty array \"pop\" happens here.
|
2021-01-19 11:56:22 +00:00
|
|
|
Counterexample:
|
|
|
|
arr = []
|
|
|
|
a = 0
|
|
|
|
x = 0
|
|
|
|
|
|
|
|
Transaction trace:
|
|
|
|
test.constructor()
|
|
|
|
State: arr = []
|
|
|
|
test.f(0, 1)
|
|
|
|
--> A:13:7:
|
|
|
|
|
|
|
|
|
13 | \t\t\t\t\t\tarr.pop();
|
|
|
|
| \t\t\t\t\t\t^^^^^^^^^
|
|
|
|
|
|
|
|
","message":"CHC: Empty array \"pop\" happens here.
|
|
|
|
Counterexample:
|
|
|
|
arr = []
|
|
|
|
a = 0
|
|
|
|
x = 0
|
|
|
|
|
|
|
|
Transaction trace:
|
|
|
|
test.constructor()
|
|
|
|
State: arr = []
|
2021-03-31 15:31:23 +00:00
|
|
|
test.f(0, 1)","severity":"warning","sourceLocation":{"end":275,"file":"A","start":266},"type":"Warning"},{"component":"general","errorCode":"6368","formattedMessage":"Warning: CHC: Out of bounds access happens here.
|
2021-03-23 18:15:14 +00:00
|
|
|
Counterexample:
|
|
|
|
arr = []
|
|
|
|
a = 0
|
|
|
|
x = 0
|
|
|
|
|
|
|
|
Transaction trace:
|
|
|
|
test.constructor()
|
|
|
|
State: arr = []
|
|
|
|
test.f(0, 1)
|
|
|
|
--> A:14:7:
|
|
|
|
|
|
|
|
|
14 | \t\t\t\t\t\tarr[x];
|
|
|
|
| \t\t\t\t\t\t^^^^^^
|
|
|
|
|
|
|
|
","message":"CHC: Out of bounds access happens here.
|
|
|
|
Counterexample:
|
|
|
|
arr = []
|
|
|
|
a = 0
|
|
|
|
x = 0
|
|
|
|
|
|
|
|
Transaction trace:
|
|
|
|
test.constructor()
|
|
|
|
State: arr = []
|
2021-03-31 15:31:23 +00:00
|
|
|
test.f(0, 1)","severity":"warning","sourceLocation":{"end":289,"file":"A","start":283},"type":"Warning"},{"component":"general","errorCode":"6838","formattedMessage":"Warning: BMC: Condition is always true.
|
2021-01-19 11:56:22 +00:00
|
|
|
--> A:7:15:
|
|
|
|
|
|
|
|
|
7 | \t\t\t\t\t\trequire(x >= 0);
|
|
|
|
| \t\t\t\t\t\t ^^^^^^
|
|
|
|
Note: Callstack:
|
|
|
|
|
2021-03-31 15:31:23 +00:00
|
|
|
","message":"BMC: Condition is always true.","secondarySourceLocations":[{"message":"Callstack:"}],"severity":"warning","sourceLocation":{"end":165,"file":"A","start":159},"type":"Warning"},{"component":"general","errorCode":"1236","formattedMessage":"Warning: BMC: Insufficient funds happens here.
|
2021-01-19 11:56:22 +00:00
|
|
|
--> A:11:7:
|
|
|
|
|
|
|
|
|
11 | \t\t\t\t\t\ta.transfer(x);
|
|
|
|
| \t\t\t\t\t\t^^^^^^^^^^^^^
|
|
|
|
Note: Counterexample:
|
|
|
|
a = 0
|
|
|
|
x = 0
|
|
|
|
|
|
|
|
Note: Callstack:
|
|
|
|
Note:
|
|
|
|
|
|
|
|
","message":"BMC: Insufficient funds happens here.","secondarySourceLocations":[{"message":"Counterexample:
|
|
|
|
a = 0
|
|
|
|
x = 0
|
2021-03-31 15:31:23 +00:00
|
|
|
"},{"message":"Callstack:"},{"message":""}],"severity":"warning","sourceLocation":{"end":237,"file":"A","start":224},"type":"Warning"}],"sources":{"A":{"id":0}}}
|