Export tmp.zip-Test-ether_unit().dot
Export tmp.zip-Test-time_unit().dot
Export tmp.zip-Test-block_and_transactions().dot
Export tmp.zip-Test-abi_encode().dot
Export tmp.zip-Test-error_handling().dot
Export tmp.zip-Test-math_and_crypto().dot
Export tmp.zip-Test-address_related().dot
Export tmp.zip-Test-contract_related().dot

digraph{
0[label="Node Type: ENTRY_POINT 0
"];
0->1;
1[label="Node Type: EXPRESSION 1

EXPRESSION:
1
"];
1->2;
2[label="Node Type: EXPRESSION 2

EXPRESSION:
1000000000000000
"];
2->3;
3[label="Node Type: EXPRESSION 3

EXPRESSION:
1000000000000
"];
3->4;
4[label="Node Type: EXPRESSION 4

EXPRESSION:
1000000000000000000
"];
}

digraph{
0[label="Node Type: ENTRY_POINT 0
"];
0->1;
1[label="Node Type: EXPRESSION 1

EXPRESSION:
1
"];
1->2;
2[label="Node Type: EXPRESSION 2

EXPRESSION:
60
"];
2->3;
3[label="Node Type: EXPRESSION 3

EXPRESSION:
3600
"];
3->4;
4[label="Node Type: EXPRESSION 4

EXPRESSION:
86400
"];
4->5;
5[label="Node Type: EXPRESSION 5

EXPRESSION:
604800
"];
}

digraph{
0[label="Node Type: ENTRY_POINT 0
"];
0->1;
1[label="Node Type: EXPRESSION 1

EXPRESSION:
blockhash(uint256)(0)

IRs:
TMP_0(uint256) = SOLIDITY_CALL blockhash(uint256)(0)"];
1->2;
2[label="Node Type: EXPRESSION 2

EXPRESSION:
block.coinbase
"];
2->3;
3[label="Node Type: EXPRESSION 3

EXPRESSION:
block.difficulty
"];
3->4;
4[label="Node Type: EXPRESSION 4

EXPRESSION:
block.gaslimit
"];
4->5;
5[label="Node Type: EXPRESSION 5

EXPRESSION:
block.number
"];
5->6;
6[label="Node Type: EXPRESSION 6

EXPRESSION:
block.timestamp
"];
6->7;
7[label="Node Type: EXPRESSION 7

EXPRESSION:
gasleft()()

IRs:
TMP_1(uint256) = SOLIDITY_CALL gasleft()()"];
7->8;
8[label="Node Type: EXPRESSION 8

EXPRESSION:
msg.data
"];
8->9;
9[label="Node Type: EXPRESSION 9

EXPRESSION:
msg.sender
"];
9->10;
10[label="Node Type: EXPRESSION 10

EXPRESSION:
msg.sig
"];
10->11;
11[label="Node Type: EXPRESSION 11

EXPRESSION:
msg.value
"];
11->12;
12[label="Node Type: EXPRESSION 12

EXPRESSION:
now
"];
12->13;
13[label="Node Type: EXPRESSION 13

EXPRESSION:
tx.gasprice
"];
13->14;
14[label="Node Type: EXPRESSION 14

EXPRESSION:
tx.origin
"];
}

digraph{
0[label="Node Type: ENTRY_POINT 0
"];
0->1;
1[label="Node Type: NEW VARIABLE 1
"];
1->2;
2[label="Node Type: EXPRESSION 2

EXPRESSION:
abi.decode(m,(uint256,uint256))

IRs:
TUPLE_0(uint256,uint256) = SOLIDITY_CALL abi.decode()(m(uint256,uint256))"];
2->3;
3[label="Node Type: EXPRESSION 3

EXPRESSION:
abi.encode(10)

IRs:
TMP_2(bytes) = SOLIDITY_CALL abi.encode()(10)"];
3->4;
4[label="Node Type: EXPRESSION 4

EXPRESSION:
abi.encodePacked(uint256(10))

IRs:
TMP_3 = CONVERT 10 to uint256
TMP_4(bytes) = SOLIDITY_CALL abi.encodePacked()(TMP_3)"];
4->5;
5[label="Node Type: NEW VARIABLE 5
"];
5->6;
6[label="Node Type: EXPRESSION 6

EXPRESSION:
abi.encodeWithSelector(selector,10)

IRs:
TMP_5(bytes) = SOLIDITY_CALL abi.encodeWithSelector()(selector,10)"];
6->7;
7[label="Node Type: NEW VARIABLE 7
"];
7->8;
8[label="Node Type: EXPRESSION 8

EXPRESSION:
abi.encodeWithSignature(signature,10)

IRs:
TMP_6(bytes) = SOLIDITY_CALL abi.encodeWithSignature()(signature,10)"];
}

digraph{
0[label="Node Type: ENTRY_POINT 0
"];
0->1;
1[label="Node Type: EXPRESSION 1

EXPRESSION:
assert(bool)(true)

IRs:
TMP_7(None) = SOLIDITY_CALL assert(bool)(True)"];
1->2;
2[label="Node Type: EXPRESSION 2

EXPRESSION:
require(bool)(true)

IRs:
TMP_8(None) = SOLIDITY_CALL require(bool)(True)"];
2->3;
3[label="Node Type: EXPRESSION 3

EXPRESSION:
require(bool,string)(true,something)

IRs:
TMP_9(None) = SOLIDITY_CALL require(bool,string)(True,something)"];
3->4;
4[label="Node Type: EXPRESSION 4

EXPRESSION:
revert()()

IRs:
TMP_10(None) = SOLIDITY_CALL revert()()"];
4->5;
5[label="Node Type: EXPRESSION 5

EXPRESSION:
revert(string)(something)

IRs:
TMP_11(None) = SOLIDITY_CALL revert(string)(something)"];
}

digraph{
0[label="Node Type: ENTRY_POINT 0
"];
0->1;
1[label="Node Type: EXPRESSION 1

EXPRESSION:
addmod(uint256,uint256,uint256)(0,0,1)

IRs:
TMP_12(uint256) = SOLIDITY_CALL addmod(uint256,uint256,uint256)(0,0,1)"];
1->2;
2[label="Node Type: EXPRESSION 2

EXPRESSION:
mulmod(uint256,uint256,uint256)(0,0,1)

IRs:
TMP_13(uint256) = SOLIDITY_CALL mulmod(uint256,uint256,uint256)(0,0,1)"];
2->3;
3[label="Node Type: EXPRESSION 3

EXPRESSION:
keccak256(bytes)()

IRs:
TMP_14(bytes32) = SOLIDITY_CALL keccak256(bytes)()"];
3->4;
4[label="Node Type: EXPRESSION 4

EXPRESSION:
sha256(bytes)()

IRs:
TMP_15(bytes32) = SOLIDITY_CALL sha256(bytes)()"];
4->5;
5[label="Node Type: EXPRESSION 5

EXPRESSION:
ripemd160(bytes)()

IRs:
TMP_16(bytes32) = SOLIDITY_CALL ripemd160(bytes)()"];
5->6;
6[label="Node Type: NEW VARIABLE 6
"];
6->7;
7[label="Node Type: NEW VARIABLE 7
"];
7->8;
8[label="Node Type: NEW VARIABLE 8
"];
8->9;
9[label="Node Type: NEW VARIABLE 9
"];
9->10;
10[label="Node Type: EXPRESSION 10

EXPRESSION:
ecrecover(bytes32,uint8,bytes32,bytes32)(hash,v,r,s)

IRs:
TMP_17(address) = SOLIDITY_CALL ecrecover(bytes32,uint8,bytes32,bytes32)(hash,v,r,s)"];
}

digraph{
0[label="Node Type: ENTRY_POINT 0
"];
0->1;
1[label="Node Type: NEW VARIABLE 1
"];
1->2;
2[label="Node Type: EXPRESSION 2

EXPRESSION:
a.balance

IRs:
TMP_18(uint256) = SOLIDITY_CALL balance(address)(a)"];
2->3;
3[label="Node Type: EXPRESSION 3

EXPRESSION:
a.send(0)

IRs:
TMP_19 = SEND dest:a value:0"];
3->4;
4[label="Node Type: EXPRESSION 4

EXPRESSION:
a.transfer(0)

IRs:
Transfer dest:a value:0"];
4->5;
5[label="Node Type: EXPRESSION 5

EXPRESSION:
a.call()

IRs:
TUPLE_1(bool,bytes) = LOW_LEVEL_CALL, dest:a, function:call, arguments:['']  "];
5->6;
6[label="Node Type: EXPRESSION 6

EXPRESSION:
a.delegatecall()

IRs:
TUPLE_2(bool,bytes) = LOW_LEVEL_CALL, dest:a, function:delegatecall, arguments:['']  "];
6->7;
7[label="Node Type: EXPRESSION 7

EXPRESSION:
a.staticcall()

IRs:
TUPLE_3(bool,bytes) = LOW_LEVEL_CALL, dest:a, function:staticcall, arguments:['']  "];
}

digraph{
0[label="Node Type: ENTRY_POINT 0
"];
0->1;
1[label="Node Type: EXPRESSION 1

EXPRESSION:
this
"];
1->2;
2[label="Node Type: NEW VARIABLE 2
"];
2->3;
3[label="Node Type: EXPRESSION 3

EXPRESSION:
selfdestruct(address)(a)

IRs:
TMP_21(None) = SOLIDITY_CALL selfdestruct(address)(a)"];
}

