diff --git a/src/kontrol/prove.py b/src/kontrol/prove.py index 371b0b837..63703277f 100644 --- a/src/kontrol/prove.py +++ b/src/kontrol/prove.py @@ -977,9 +977,9 @@ def _init_cterm( init_subst.update(init_subst_test) else: # CSE needs to be agnostic of the following Kontrol cells - del init_subst['ACTIVE_CELL'] + # `prank`'s `` and `expectRevert`'s `` cells are `false` + # to avoid branching in nested summaries del init_subst['ISEVENTEXPECTED_CELL'] - del init_subst['ISREVERTEXPECTED_CELL'] del init_subst['RECORDEVENT_CELL'] del init_subst['SINGLECALL_CELL'] diff --git a/src/tests/integration/test-data/show/AddConst.applyOp(uint256).cse.expected b/src/tests/integration/test-data/show/AddConst.applyOp(uint256).cse.expected index 9112c6746..89f9d587e 100644 --- a/src/tests/integration/test-data/show/AddConst.applyOp(uint256).cse.expected +++ b/src/tests/integration/test-data/show/AddConst.applyOp(uint256).cse.expected @@ -179,6 +179,18 @@ module SUMMARY-SRC%CSE%ADDCONST.APPLYOP(UINT256):0 true + + + false + + ... + + + + false + + ... + false @@ -358,6 +370,18 @@ module SUMMARY-SRC%CSE%ADDCONST.APPLYOP(UINT256):0 true + + + false + + ... + + + + false + + ... + false diff --git a/src/tests/integration/test-data/show/ArithmeticCallTest.test_double_add_sub_external(uint256,uint256,uint256).cse.expected b/src/tests/integration/test-data/show/ArithmeticCallTest.test_double_add_sub_external(uint256,uint256,uint256).cse.expected index 8ee0d9164..159d1d8ec 100644 --- a/src/tests/integration/test-data/show/ArithmeticCallTest.test_double_add_sub_external(uint256,uint256,uint256).cse.expected +++ b/src/tests/integration/test-data/show/ArithmeticCallTest.test_double_add_sub_external(uint256,uint256,uint256).cse.expected @@ -7,28 +7,30 @@ │ src: test/nested/SimpleNested.t.sol:7:11 │ method: test%ArithmeticCallTest.setUp() │ -│ (1421 steps) +│ (1077 steps) ├─ 7 (split) -│ k: JUMPI 570 bool2Word ( KV0_x:Int <=Int ( maxUInt256 -Int KV1_y:Int ) ) ~> #pc [ J ... -│ pc: 562 -│ callDepth: 2 +│ k: #execute ~> #return 128 32 ~> #pc [ STATICCALL ] ~> #execute ~> CONTINUATION:K +│ pc: 0 +│ callDepth: 1 │ statusCode: STATUSCODE:StatusCode -│ method: src%ArithmeticContract.add(uint256,uint256) +│ src: test/nested/SimpleNested.t.sol:7:11 +│ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) ┃ ┃ (branch) ┣━━┓ subst: .Subst ┃ ┃ constraint: ┃ ┃ ( maxUInt256 -Int KV1_y:Int ) #pc [ J ... -┃ │ pc: 562 -┃ │ callDepth: 2 +┃ ├─ 8 +┃ │ k: #execute ~> #return 128 32 ~> #pc [ STATICCALL ] ~> #execute ~> CONTINUATION:K +┃ │ pc: 0 +┃ │ callDepth: 1 ┃ │ statusCode: STATUSCODE:StatusCode -┃ │ method: src%ArithmeticContract.add(uint256,uint256) +┃ │ src: test/nested/SimpleNested.t.sol:7:11 +┃ │ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) ┃ │ -┃ │ (210 steps) -┃ └─ 16 (leaf, terminal) +┃ │ (73 steps) +┃ └─ 11 (leaf, terminal) ┃ k: #halt ~> CONTINUATION:K ┃ pc: 1584 ┃ callDepth: 0 @@ -41,15 +43,16 @@ ┃ ┃ ( KV0_x:Int +Int KV1_y:Int ) #pc [ J ... -┃ │ pc: 562 -┃ │ callDepth: 2 +┃ ├─ 10 +┃ │ k: #execute ~> #return 128 32 ~> #pc [ STATICCALL ] ~> #execute ~> CONTINUATION:K +┃ │ pc: 0 +┃ │ callDepth: 1 ┃ │ statusCode: STATUSCODE:StatusCode -┃ │ method: src%ArithmeticContract.add(uint256,uint256) +┃ │ src: test/nested/SimpleNested.t.sol:7:11 +┃ │ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) ┃ │ -┃ │ (565 steps) -┃ └─ 20 (leaf, terminal) +┃ │ (73 steps) +┃ └─ 13 (leaf, terminal) ┃ k: #halt ~> CONTINUATION:K ┃ pc: 1584 ┃ callDepth: 0 @@ -63,15 +66,16 @@ ┃ ┃ KV0_x:Int <=Int ( maxUInt256 -Int KV1_y:Int ) ┃ ┃ ( maxUInt256 -Int KV1_y:Int ) #pc [ J ... -┃ │ pc: 562 -┃ │ callDepth: 2 +┃ ├─ 24 +┃ │ k: #execute ~> #return 128 32 ~> #pc [ STATICCALL ] ~> #execute ~> CONTINUATION:K +┃ │ pc: 0 +┃ │ callDepth: 1 ┃ │ statusCode: STATUSCODE:StatusCode -┃ │ method: src%ArithmeticContract.add(uint256,uint256) +┃ │ src: test/nested/SimpleNested.t.sol:7:11 +┃ │ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) ┃ │ -┃ │ (1553 steps) -┃ └─ 29 (leaf, terminal) +┃ │ (503 steps) +┃ └─ 17 (leaf, terminal) ┃ k: #halt ~> CONTINUATION:K ┃ pc: 1708 ┃ callDepth: 0 @@ -86,15 +90,16 @@ ┃ ┃ ( ( ( KV0_x:Int +Int KV1_y:Int ) -Int KV2_z:Int ) +Int KV1_y:Int ) #pc [ J ... -┃ │ pc: 562 -┃ │ callDepth: 2 +┃ ├─ 26 +┃ │ k: #execute ~> #return 128 32 ~> #pc [ STATICCALL ] ~> #execute ~> CONTINUATION:K +┃ │ pc: 0 +┃ │ callDepth: 1 ┃ │ statusCode: STATUSCODE:StatusCode -┃ │ method: src%ArithmeticContract.add(uint256,uint256) +┃ │ src: test/nested/SimpleNested.t.sol:7:11 +┃ │ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) ┃ │ -┃ │ (1908 steps) -┃ └─ 33 (leaf, terminal) +┃ │ (503 steps) +┃ └─ 19 (leaf, terminal) ┃ k: #halt ~> CONTINUATION:K ┃ pc: 1708 ┃ callDepth: 0 @@ -110,15 +115,16 @@ ┃ ┃ ( ( KV0_x:Int +Int KV1_y:Int ) -Int KV2_z:Int ) <=Int ( maxUInt256 -Int KV1_y:Int ) ┃ ┃ KV0_x:Int #pc [ J ... -┃ │ pc: 562 -┃ │ callDepth: 2 +┃ ├─ 29 +┃ │ k: #execute ~> #return 128 32 ~> #pc [ STATICCALL ] ~> #execute ~> CONTINUATION:K +┃ │ pc: 0 +┃ │ callDepth: 1 ┃ │ statusCode: STATUSCODE:StatusCode -┃ │ method: src%ArithmeticContract.add(uint256,uint256) +┃ │ src: test/nested/SimpleNested.t.sol:7:11 +┃ │ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) ┃ │ -┃ │ (2241 steps) -┃ ├─ 36 (terminal) +┃ │ (759 steps) +┃ ├─ 22 (terminal) ┃ │ k: #halt ~> CONTINUATION:K ┃ │ pc: 248 ┃ │ callDepth: 0 @@ -142,15 +148,16 @@ ┃ ( ( KV0_x:Int +Int KV1_y:Int ) -Int KV2_z:Int ) <=Int ( maxUInt256 -Int KV1_y:Int ) ┃ ( ( ( ( KV0_x:Int +Int KV1_y:Int ) -Int KV2_z:Int ) +Int KV1_y:Int ) -Int KV2_z:Int ) <=Int KV0_x:Int │ - ├─ 57 - │ k: JUMPI 570 bool2Word ( KV0_x:Int <=Int ( maxUInt256 -Int KV1_y:Int ) ) ~> #pc [ J ... - │ pc: 562 - │ callDepth: 2 + ├─ 30 + │ k: #execute ~> #return 128 32 ~> #pc [ STATICCALL ] ~> #execute ~> CONTINUATION:K + │ pc: 0 + │ callDepth: 1 │ statusCode: STATUSCODE:StatusCode - │ method: src%ArithmeticContract.add(uint256,uint256) + │ src: test/nested/SimpleNested.t.sol:7:11 + │ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) │ - │ (2244 steps) - └─ 37 (leaf, terminal) + │ (762 steps) + └─ 23 (leaf, terminal) k: #halt ~> CONTINUATION:K pc: 3736 callDepth: 0 @@ -163,18 +170,13 @@ module SUMMARY-TEST%ARITHMETICCALLTEST.TEST-DOUBLE-ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256):0 - rule [BASIC-BLOCK-1-TO-7]: + rule [BASIC-BLOCK-8-TO-11]: - ( .K => JUMPI 570 bool2Word ( ?KV0_x:Int <=Int ( maxUInt256 -Int ?KV1_y:Int ) ) - ~> #pc [ JUMPI ] - ~> #execute + ( #execute ~> #return 128 32 ~> #pc [ STATICCALL ] - ~> #execute - ~> #return 128 32 - ~> #pc [ STATICCALL ] ) - ~> #execute + ~> #execute => #halt ~> .K ) ~> _CONTINUATION:K @@ -189,42 +191,13 @@ module SUMMARY-TEST%ARITHMETICCALLTEST.TEST-DOUBLE-ADD-SUB-EXTERNAL(UINT256,UINT - b"" + ( b"" => b"NH{q\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11" ) + + ( _STATUSCODE:StatusCode => EVMC_REVERT ) + - ( .List => ListItem ( - - 491460923342184218035706888008750043977755113263 - - - 728815563385977040452943777879061427756277306518 - - - b"\x9c&\xe07" +Bytes #buf ( 32 , ?KV0_x:Int ) +Bytes #buf ( 32 , ?KV1_y:Int ) +Bytes #buf ( 32 , ?KV2_z:Int ) - - - 0 - - - ( 196 : ( 1997931255 : ( 491460923342184218035706888008750043977755113263 : ( 0 : ( 0 : ( ?KV2_z:Int : ( ?KV1_y:Int : ( ?KV0_x:Int : ( 111 : ( 2619793463 : .WordStack ) ) ) ) ) ) ) ) ) ) - - - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00w\x16\x02\xf7" +Bytes #buf ( 32 , ?KV0_x:Int ) +Bytes #buf ( 32 , ?KV1_y:Int ) - - - 0 - - - 0 - - - true - - - 1 - - ... - ) ListItem ( + ( ListItem ( 728815563385977040452943777879061427756277306518 @@ -232,16 +205,16 @@ module SUMMARY-TEST%ARITHMETICCALLTEST.TEST-DOUBLE-ADD-SUB-EXTERNAL(UINT256,UINT 137122462167341575662000267002353578582749290296 - b"\x922\xed\x8c" +Bytes #buf ( 32 , ?KV0_x:Int ) +Bytes #buf ( 32 , ?KV1_y:Int ) +Bytes #buf ( 32 , ?KV2_z:Int ) + b"\x922\xed\x8c" +Bytes #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) +Bytes #buf ( 32 , KV2_z:Int ) 0 - ( 228 : ( 2619793463 : ( 491460923342184218035706888008750043977755113263 : ( 0 : ( ?KV2_z:Int : ( ?KV1_y:Int : ( ?KV0_x:Int : ( 247 : ( 2452811148 : .WordStack ) ) ) ) ) ) ) ) ) + ( 228 : ( 2619793463 : ( 491460923342184218035706888008750043977755113263 : ( 0 : ( KV2_z:Int : ( KV1_y:Int : ( KV0_x:Int : ( 247 : ( 2452811148 : .WordStack ) ) ) ) ) ) ) ) ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9c&\xe07" +Bytes #buf ( 32 , ?KV0_x:Int ) +Bytes #buf ( 32 , ?KV1_y:Int ) +Bytes #buf ( 32 , ?KV2_z:Int ) + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9c&\xe07" +Bytes #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) +Bytes #buf ( 32 , KV2_z:Int ) 0 @@ -256,95 +229,10 @@ module SUMMARY-TEST%ARITHMETICCALLTEST.TEST-DOUBLE-ADD-SUB-EXTERNAL(UINT256,UINT 0 ... - ) ) + ) => .List ) - ( .List => ListItem ( { - ( - - 491460923342184218035706888008750043977755113263 - - - 0 - - - .Map - - - .Map - - - .Map - - - 1 - - ... - - ( - - 645326474426547203313410069153905908525362434349 - - - 0 - - - .Map - - - .Map - - - .Map - - - 0 - - ... - - - - 728815563385977040452943777879061427756277306518 - - - 0 - - - ( ( 11 |-> 1 ) - ( ( 27 |-> 491460923342184218035706888008750043977755113263 ) - ( 7 |-> 1 ) ) ) - - - .Map - - - .Map - - - 2 - - ... - ) ) - | - - SELFDESTRUCT_CELL:Set - - - .List - - - 0 - - - ( SetItem ( 491460923342184218035706888008750043977755113263 ) SetItem ( 728815563385977040452943777879061427756277306518 ) ) - - - .Map - - - .Set - - } ) ListItem ( { + ( ListItem ( { ( 491460923342184218035706888008750043977755113263 @@ -429,29 +317,29 @@ module SUMMARY-TEST%ARITHMETICCALLTEST.TEST-DOUBLE-ADD-SUB-EXTERNAL(UINT256,UINT .Set - } ) ) + } ) => .List ) - ( .Set => ( SetItem ( 491460923342184218035706888008750043977755113263 ) SetItem ( 728815563385977040452943777879061427756277306518 ) ) ) + ( SetItem ( 491460923342184218035706888008750043977755113263 ) SetItem ( 728815563385977040452943777879061427756277306518 ) ) - ( 728815563385977040452943777879061427756277306518 => 491460923342184218035706888008750043977755113263 ) + ( 491460923342184218035706888008750043977755113263 => 728815563385977040452943777879061427756277306518 ) - ( 137122462167341575662000267002353578582749290296 => 491460923342184218035706888008750043977755113263 ) + ( 728815563385977040452943777879061427756277306518 => 137122462167341575662000267002353578582749290296 ) - ( b"\n\x92T\xe4" => b"w\x16\x02\xf7" +Bytes #buf ( 32 , ?KV0_x:Int ) +Bytes #buf ( 32 , ?KV1_y:Int ) ) + ( b"\x9c&\xe07" => b"\x922\xed\x8c" ) +Bytes #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) +Bytes #buf ( 32 , KV2_z:Int ) 0 - ( .WordStack => ( 0 : ( ?KV0_x:Int : ( ?KV1_y:Int : ( 217 : ( 0 : ( ?KV1_y:Int : ( ?KV0_x:Int : ( 111 : ( 1997931255 : .WordStack ) ) ) ) ) ) ) ) ) ) + ( .WordStack => ( 1 : ( 228 : ( 2619793463 : ( 491460923342184218035706888008750043977755113263 : ( 0 : ( KV2_z:Int : ( KV1_y:Int : ( KV0_x:Int : ( 247 : ( 2452811148 : .WordStack ) ) ) ) ) ) ) ) ) ) ) - ( b"" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80" ) + ( b"" => b"NH{q\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00NH{q\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #range ( #buf ( 32 , KV0_x:Int ) , 28 , 4 ) +Bytes #buf ( 32 , KV1_y:Int ) +Bytes #buf ( 32 , KV2_z:Int ) ) 0 @@ -460,10 +348,10 @@ module SUMMARY-TEST%ARITHMETICCALLTEST.TEST-DOUBLE-ADD-SUB-EXTERNAL(UINT256,UINT 0 - ( false => true ) + ( true => false ) - ( 0 => 2 ) + ( 1 => 0 ) ... @@ -478,7 +366,7 @@ module SUMMARY-TEST%ARITHMETICCALLTEST.TEST-DOUBLE-ADD-SUB-EXTERNAL(UINT256,UINT 0 - ( .Set => ( SetItem ( 491460923342184218035706888008750043977755113263 ) SetItem ( 728815563385977040452943777879061427756277306518 ) ) ) + ( ( SetItem ( 491460923342184218035706888008750043977755113263 ) SetItem ( 728815563385977040452943777879061427756277306518 ) ) => SetItem ( 491460923342184218035706888008750043977755113263 ) ) .Map @@ -508,7 +396,7 @@ module SUMMARY-TEST%ARITHMETICCALLTEST.TEST-DOUBLE-ADD-SUB-EXTERNAL(UINT256,UINT ( - ( 645326474426547203313410069153905908525362434349 => 491460923342184218035706888008750043977755113263 ) + 491460923342184218035706888008750043977755113263 0 @@ -523,32 +411,11 @@ module SUMMARY-TEST%ARITHMETICCALLTEST.TEST-DOUBLE-ADD-SUB-EXTERNAL(UINT256,UINT .Map - ( 0 => 1 ) + 1 ... ( - - 728815563385977040452943777879061427756277306518 - - - 0 - - - ( ( 11 |-> 1 ) - ( 7 |-> 1 ) ) - - - .Map - - - .Map - - - 1 - - ... - => ( 645326474426547203313410069153905908525362434349 @@ -591,7 +458,7 @@ module SUMMARY-TEST%ARITHMETICCALLTEST.TEST-DOUBLE-ADD-SUB-EXTERNAL(UINT256,UINT 2 ... - ) ) ) + ) ) ... @@ -674,29 +541,24 @@ module SUMMARY-TEST%ARITHMETICCALLTEST.TEST-DOUBLE-ADD-SUB-EXTERNAL(UINT256,UINT - requires ( pow24 + rule [BASIC-BLOCK-10-TO-13]: - ( JUMPI 570 bool2Word ( KV0_x:Int <=Int ( maxUInt256 -Int KV1_y:Int ) ) - ~> #pc [ JUMPI ] - ~> #execute - ~> #return 128 32 - ~> #pc [ STATICCALL ] - ~> #execute + ( #execute ~> #return 128 32 ~> #pc [ STATICCALL ] ~> #execute => #halt ~> .K ) @@ -721,38 +583,6 @@ module SUMMARY-TEST%ARITHMETICCALLTEST.TEST-DOUBLE-ADD-SUB-EXTERNAL(UINT256,UINT ( ListItem ( - - 491460923342184218035706888008750043977755113263 - - - 728815563385977040452943777879061427756277306518 - - - b"\x9c&\xe07" +Bytes #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) +Bytes #buf ( 32 , KV2_z:Int ) - - - 0 - - - ( 196 : ( 1997931255 : ( 491460923342184218035706888008750043977755113263 : ( 0 : ( 0 : ( KV2_z:Int : ( KV1_y:Int : ( KV0_x:Int : ( 111 : ( 2619793463 : .WordStack ) ) ) ) ) ) ) ) ) ) - - - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00w\x16\x02\xf7" +Bytes #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) - - - 0 - - - 0 - - - true - - - 1 - - ... - ) ListItem ( 728815563385977040452943777879061427756277306518 @@ -864,92 +694,7 @@ module SUMMARY-TEST%ARITHMETICCALLTEST.TEST-DOUBLE-ADD-SUB-EXTERNAL(UINT256,UINT 0 - ( SetItem ( 491460923342184218035706888008750043977755113263 ) SetItem ( 728815563385977040452943777879061427756277306518 ) ) - - - .Map - - - .Set - - } ) ListItem ( { - ( - - 491460923342184218035706888008750043977755113263 - - - 0 - - - .Map - - - .Map - - - .Map - - - 1 - - ... - - ( - - 645326474426547203313410069153905908525362434349 - - - 0 - - - .Map - - - .Map - - - .Map - - - 0 - - ... - - - - 728815563385977040452943777879061427756277306518 - - - 0 - - - ( ( 11 |-> 1 ) - ( ( 27 |-> 491460923342184218035706888008750043977755113263 ) - ( 7 |-> 1 ) ) ) - - - .Map - - - .Map - - - 2 - - ... - ) ) - | - - SELFDESTRUCT_CELL:Set - - - .List - - - 0 - - - SetItem ( 491460923342184218035706888008750043977755113263 ) + SetItem ( 491460923342184218035706888008750043977755113263 ) .Map @@ -967,19 +712,19 @@ module SUMMARY-TEST%ARITHMETICCALLTEST.TEST-DOUBLE-ADD-SUB-EXTERNAL(UINT256,UINT ( 491460923342184218035706888008750043977755113263 => 728815563385977040452943777879061427756277306518 ) - ( 491460923342184218035706888008750043977755113263 => 137122462167341575662000267002353578582749290296 ) + ( 728815563385977040452943777879061427756277306518 => 137122462167341575662000267002353578582749290296 ) - ( b"w\x16\x02\xf7" => b"\x922\xed\x8c" ) +Bytes #buf ( 32 , KV0_x:Int ) +Bytes ( #buf ( 32 , KV1_y:Int ) => #buf ( 32 , KV1_y:Int ) +Bytes #buf ( 32 , KV2_z:Int ) ) + ( b"\x9c&\xe07" => b"\x922\xed\x8c" ) +Bytes #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) +Bytes #buf ( 32 , KV2_z:Int ) 0 - ( ( 0 => 1 ) : ( ( KV0_x:Int => 228 ) : ( ( KV1_y:Int => 2619793463 ) : ( ( 217 => 491460923342184218035706888008750043977755113263 ) : ( 0 : ( ( KV1_y:Int => KV2_z:Int ) : ( ( KV0_x:Int => KV1_y:Int ) : ( ( 111 => KV0_x:Int ) : ( ( 1997931255 => 247 ) : ( .WordStack => ( 2452811148 : .WordStack ) ) ) ) ) ) ) ) ) ) ) + ( .WordStack => ( 1 : ( 228 : ( 2619793463 : ( 491460923342184218035706888008750043977755113263 : ( 0 : ( KV2_z:Int : ( KV1_y:Int : ( KV0_x:Int : ( 247 : ( 2452811148 : .WordStack ) ) ) ) ) ) ) ) ) ) ) - ( b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80" => b"NH{q\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00NH{q\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #range ( #buf ( 32 , KV0_x:Int ) , 28 , 4 ) +Bytes #buf ( 32 , KV1_y:Int ) +Bytes #buf ( 32 , KV2_z:Int ) ) + ( b"" => b"NH{q\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00NH{q\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #range ( #buf ( 32 , KV0_x:Int ) , 28 , 4 ) +Bytes #buf ( 32 , KV1_y:Int ) +Bytes #buf ( 32 , KV2_z:Int ) ) 0 @@ -991,7 +736,7 @@ module SUMMARY-TEST%ARITHMETICCALLTEST.TEST-DOUBLE-ADD-SUB-EXTERNAL(UINT256,UINT ( true => false ) - ( 2 => 0 ) + ( 1 => 0 ) ... @@ -1191,22 +936,18 @@ module SUMMARY-TEST%ARITHMETICCALLTEST.TEST-DOUBLE-ADD-SUB-EXTERNAL(UINT256,UINT andBool ( KV0_x:Int + rule [BASIC-BLOCK-1-TO-7]: - ( JUMPI 570 bool2Word ( KV0_x:Int <=Int ( maxUInt256 -Int KV1_y:Int ) ) - ~> #pc [ JUMPI ] - ~> #execute - ~> #return 128 32 + #execute + ~> ( .K => #return 128 32 ~> #pc [ STATICCALL ] - ~> #execute - ~> #return 128 32 - ~> #pc [ STATICCALL ] - ~> #execute => #halt ~> .K ) + ~> #execute ) ~> _CONTINUATION:K @@ -1221,45 +962,10 @@ module SUMMARY-TEST%ARITHMETICCALLTEST.TEST-DOUBLE-ADD-SUB-EXTERNAL(UINT256,UINT - ( b"" => b"NH{q\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11" ) + b"" - - ( _STATUSCODE:StatusCode => EVMC_REVERT ) - - ( ListItem ( - - 491460923342184218035706888008750043977755113263 - - - 728815563385977040452943777879061427756277306518 - - - b"\x9c&\xe07" +Bytes #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) +Bytes #buf ( 32 , KV2_z:Int ) - - - 0 - - - ( 196 : ( 1997931255 : ( 491460923342184218035706888008750043977755113263 : ( 0 : ( 0 : ( KV2_z:Int : ( KV1_y:Int : ( KV0_x:Int : ( 111 : ( 2619793463 : .WordStack ) ) ) ) ) ) ) ) ) ) - - - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00w\x16\x02\xf7" +Bytes #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) - - - 0 - - - 0 - - - true - - - 1 - - ... - ) ListItem ( + ( .List => ListItem ( 728815563385977040452943777879061427756277306518 @@ -1267,16 +973,16 @@ module SUMMARY-TEST%ARITHMETICCALLTEST.TEST-DOUBLE-ADD-SUB-EXTERNAL(UINT256,UINT 137122462167341575662000267002353578582749290296 - b"\x922\xed\x8c" +Bytes #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) +Bytes #buf ( 32 , KV2_z:Int ) + b"\x922\xed\x8c" +Bytes #buf ( 32 , ?KV0_x:Int ) +Bytes #buf ( 32 , ?KV1_y:Int ) +Bytes #buf ( 32 , ?KV2_z:Int ) 0 - ( 228 : ( 2619793463 : ( 491460923342184218035706888008750043977755113263 : ( 0 : ( KV2_z:Int : ( KV1_y:Int : ( KV0_x:Int : ( 247 : ( 2452811148 : .WordStack ) ) ) ) ) ) ) ) ) + ( 228 : ( 2619793463 : ( 491460923342184218035706888008750043977755113263 : ( 0 : ( ?KV2_z:Int : ( ?KV1_y:Int : ( ?KV0_x:Int : ( 247 : ( 2452811148 : .WordStack ) ) ) ) ) ) ) ) ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9c&\xe07" +Bytes #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) +Bytes #buf ( 32 , KV2_z:Int ) + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9c&\xe07" +Bytes #buf ( 32 , ?KV0_x:Int ) +Bytes #buf ( 32 , ?KV1_y:Int ) +Bytes #buf ( 32 , ?KV2_z:Int ) 0 @@ -1291,95 +997,10 @@ module SUMMARY-TEST%ARITHMETICCALLTEST.TEST-DOUBLE-ADD-SUB-EXTERNAL(UINT256,UINT 0 ... - ) => .List ) + ) ) - ( ListItem ( { - ( - - 491460923342184218035706888008750043977755113263 - - - 0 - - - .Map - - - .Map - - - .Map - - - 1 - - ... - - ( - - 645326474426547203313410069153905908525362434349 - - - 0 - - - .Map - - - .Map - - - .Map - - - 0 - - ... - - - - 728815563385977040452943777879061427756277306518 - - - 0 - - - ( ( 11 |-> 1 ) - ( ( 27 |-> 491460923342184218035706888008750043977755113263 ) - ( 7 |-> 1 ) ) ) - - - .Map - - - .Map - - - 2 - - ... - ) ) - | - - SELFDESTRUCT_CELL:Set - - - .List - - - 0 - - - ( SetItem ( 491460923342184218035706888008750043977755113263 ) SetItem ( 728815563385977040452943777879061427756277306518 ) ) - - - .Map - - - .Set - - } ) ListItem ( { + ( .List => ListItem ( { ( 491460923342184218035706888008750043977755113263 @@ -1464,29 +1085,29 @@ module SUMMARY-TEST%ARITHMETICCALLTEST.TEST-DOUBLE-ADD-SUB-EXTERNAL(UINT256,UINT .Set - } ) => .List ) + } ) ) - ( SetItem ( 491460923342184218035706888008750043977755113263 ) SetItem ( 728815563385977040452943777879061427756277306518 ) ) + ( .Set => ( SetItem ( 491460923342184218035706888008750043977755113263 ) SetItem ( 728815563385977040452943777879061427756277306518 ) ) ) - ( 491460923342184218035706888008750043977755113263 => 728815563385977040452943777879061427756277306518 ) + ( 728815563385977040452943777879061427756277306518 => 491460923342184218035706888008750043977755113263 ) - ( 491460923342184218035706888008750043977755113263 => 137122462167341575662000267002353578582749290296 ) + ( 137122462167341575662000267002353578582749290296 => 728815563385977040452943777879061427756277306518 ) - ( b"w\x16\x02\xf7" => b"\x922\xed\x8c" ) +Bytes #buf ( 32 , KV0_x:Int ) +Bytes ( #buf ( 32 , KV1_y:Int ) => #buf ( 32 , KV1_y:Int ) +Bytes #buf ( 32 , KV2_z:Int ) ) + ( b"\n\x92T\xe4" => b"\x9c&\xe07" +Bytes #buf ( 32 , ?KV0_x:Int ) +Bytes #buf ( 32 , ?KV1_y:Int ) +Bytes #buf ( 32 , ?KV2_z:Int ) ) 0 - ( ( 0 => 1 ) : ( ( KV0_x:Int => 228 ) : ( ( KV1_y:Int => 2619793463 ) : ( ( 217 => 491460923342184218035706888008750043977755113263 ) : ( 0 : ( ( KV1_y:Int => KV2_z:Int ) : ( ( KV0_x:Int => KV1_y:Int ) : ( ( 111 => KV0_x:Int ) : ( ( 1997931255 => 247 ) : ( .WordStack => ( 2452811148 : .WordStack ) ) ) ) ) ) ) ) ) ) ) + .WordStack - ( b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80" => b"NH{q\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00NH{q\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #range ( #buf ( 32 , KV0_x:Int ) , 28 , 4 ) +Bytes #buf ( 32 , KV1_y:Int ) +Bytes #buf ( 32 , KV2_z:Int ) ) + b"" 0 @@ -1495,10 +1116,10 @@ module SUMMARY-TEST%ARITHMETICCALLTEST.TEST-DOUBLE-ADD-SUB-EXTERNAL(UINT256,UINT 0 - ( true => false ) + ( false => true ) - ( 2 => 0 ) + ( 0 => 1 ) ... @@ -1513,7 +1134,7 @@ module SUMMARY-TEST%ARITHMETICCALLTEST.TEST-DOUBLE-ADD-SUB-EXTERNAL(UINT256,UINT 0 - ( ( SetItem ( 491460923342184218035706888008750043977755113263 ) SetItem ( 728815563385977040452943777879061427756277306518 ) ) => SetItem ( 491460923342184218035706888008750043977755113263 ) ) + ( .Set => ( SetItem ( 491460923342184218035706888008750043977755113263 ) SetItem ( 728815563385977040452943777879061427756277306518 ) ) ) .Map @@ -1543,7 +1164,7 @@ module SUMMARY-TEST%ARITHMETICCALLTEST.TEST-DOUBLE-ADD-SUB-EXTERNAL(UINT256,UINT ( - 491460923342184218035706888008750043977755113263 + ( 645326474426547203313410069153905908525362434349 => 491460923342184218035706888008750043977755113263 ) 0 @@ -1558,11 +1179,32 @@ module SUMMARY-TEST%ARITHMETICCALLTEST.TEST-DOUBLE-ADD-SUB-EXTERNAL(UINT256,UINT .Map - 1 + ( 0 => 1 ) ... ( + + 728815563385977040452943777879061427756277306518 + + + 0 + + + ( ( 11 |-> 1 ) + ( 7 |-> 1 ) ) + + + .Map + + + .Map + + + 1 + + ... + => ( 645326474426547203313410069153905908525362434349 @@ -1605,7 +1247,7 @@ module SUMMARY-TEST%ARITHMETICCALLTEST.TEST-DOUBLE-ADD-SUB-EXTERNAL(UINT256,UINT 2 ... - ) ) + ) ) ) ... @@ -1688,30 +1330,24 @@ module SUMMARY-TEST%ARITHMETICCALLTEST.TEST-DOUBLE-ADD-SUB-EXTERNAL(UINT256,UINT - requires ( 0 <=Int KV0_x:Int - andBool ( 0 <=Int KV1_y:Int - andBool ( 0 <=Int KV2_z:Int - andBool ( pow24 + rule [BASIC-BLOCK-24-TO-17]: - ( JUMPI 570 bool2Word ( KV0_x:Int <=Int ( maxUInt256 -Int KV1_y:Int ) ) - ~> #pc [ JUMPI ] - ~> #execute - ~> #return 128 32 - ~> #pc [ STATICCALL ] - ~> #execute + ( #execute ~> #return 128 32 ~> #pc [ STATICCALL ] ~> #execute => #halt ~> .K ) @@ -1736,38 +1372,6 @@ module SUMMARY-TEST%ARITHMETICCALLTEST.TEST-DOUBLE-ADD-SUB-EXTERNAL(UINT256,UINT ( ListItem ( - - 491460923342184218035706888008750043977755113263 - - - 728815563385977040452943777879061427756277306518 - - - b"\x9c&\xe07" +Bytes #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) +Bytes #buf ( 32 , KV2_z:Int ) - - - 0 - - - ( 196 : ( 1997931255 : ( 491460923342184218035706888008750043977755113263 : ( 0 : ( 0 : ( KV2_z:Int : ( KV1_y:Int : ( KV0_x:Int : ( 111 : ( 2619793463 : .WordStack ) ) ) ) ) ) ) ) ) ) - - - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00w\x16\x02\xf7" +Bytes #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) - - - 0 - - - 0 - - - true - - - 1 - - ... - ) ListItem ( 728815563385977040452943777879061427756277306518 @@ -1868,91 +1472,6 @@ module SUMMARY-TEST%ARITHMETICCALLTEST.TEST-DOUBLE-ADD-SUB-EXTERNAL(UINT256,UINT ... ) ) - | - - SELFDESTRUCT_CELL:Set - - - .List - - - 0 - - - ( SetItem ( 491460923342184218035706888008750043977755113263 ) SetItem ( 728815563385977040452943777879061427756277306518 ) ) - - - .Map - - - .Set - - } ) ListItem ( { - ( - - 491460923342184218035706888008750043977755113263 - - - 0 - - - .Map - - - .Map - - - .Map - - - 1 - - ... - - ( - - 645326474426547203313410069153905908525362434349 - - - 0 - - - .Map - - - .Map - - - .Map - - - 0 - - ... - - - - 728815563385977040452943777879061427756277306518 - - - 0 - - - ( ( 11 |-> 1 ) - ( ( 27 |-> 491460923342184218035706888008750043977755113263 ) - ( 7 |-> 1 ) ) ) - - - .Map - - - .Map - - - 2 - - ... - ) ) | SELFDESTRUCT_CELL:Set @@ -1982,19 +1501,19 @@ module SUMMARY-TEST%ARITHMETICCALLTEST.TEST-DOUBLE-ADD-SUB-EXTERNAL(UINT256,UINT ( 491460923342184218035706888008750043977755113263 => 728815563385977040452943777879061427756277306518 ) - ( 491460923342184218035706888008750043977755113263 => 137122462167341575662000267002353578582749290296 ) + ( 728815563385977040452943777879061427756277306518 => 137122462167341575662000267002353578582749290296 ) - ( b"w\x16\x02\xf7" => b"\x922\xed\x8c" ) +Bytes #buf ( 32 , KV0_x:Int ) +Bytes ( #buf ( 32 , KV1_y:Int ) => #buf ( 32 , KV1_y:Int ) +Bytes #buf ( 32 , KV2_z:Int ) ) + ( b"\x9c&\xe07" => b"\x922\xed\x8c" ) +Bytes #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) +Bytes #buf ( 32 , KV2_z:Int ) 0 - ( ( 0 => 1 ) : ( ( KV0_x:Int => 260 ) : ( ( KV1_y:Int => 2619793463 ) : ( ( 217 => 491460923342184218035706888008750043977755113263 ) : ( ( 0 => ( ( KV0_x:Int +Int KV1_y:Int ) -Int KV2_z:Int ) ) : ( ( KV1_y:Int => KV2_z:Int ) : ( ( KV0_x:Int => KV1_y:Int ) : ( ( 111 => KV0_x:Int ) : ( ( 1997931255 => 247 ) : ( .WordStack => ( 2452811148 : .WordStack ) ) ) ) ) ) ) ) ) ) ) + ( .WordStack => ( 1 : ( 260 : ( 2619793463 : ( 491460923342184218035706888008750043977755113263 : ( ( ( KV0_x:Int +Int KV1_y:Int ) -Int KV2_z:Int ) : ( KV2_z:Int : ( KV1_y:Int : ( KV0_x:Int : ( 247 : ( 2452811148 : .WordStack ) ) ) ) ) ) ) ) ) ) ) - ( b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80" => b"NH{q\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #buf ( 32 , ( ( KV0_x:Int +Int KV1_y:Int ) -Int KV2_z:Int ) ) +Bytes b"NH{q\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #range ( #buf ( 32 , ( ( KV0_x:Int +Int KV1_y:Int ) -Int KV2_z:Int ) ) , 28 , 4 ) +Bytes #buf ( 32 , KV1_y:Int ) +Bytes #buf ( 32 , KV2_z:Int ) ) + ( b"" => b"NH{q\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #buf ( 32 , ( ( KV0_x:Int +Int KV1_y:Int ) -Int KV2_z:Int ) ) +Bytes b"NH{q\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #range ( #buf ( 32 , ( ( KV0_x:Int +Int KV1_y:Int ) -Int KV2_z:Int ) ) , 28 , 4 ) +Bytes #buf ( 32 , KV1_y:Int ) +Bytes #buf ( 32 , KV2_z:Int ) ) 0 @@ -2006,7 +1525,7 @@ module SUMMARY-TEST%ARITHMETICCALLTEST.TEST-DOUBLE-ADD-SUB-EXTERNAL(UINT256,UINT ( true => false ) - ( 2 => 0 ) + ( 1 => 0 ) ... @@ -2213,17 +1732,12 @@ module SUMMARY-TEST%ARITHMETICCALLTEST.TEST-DOUBLE-ADD-SUB-EXTERNAL(UINT256,UINT ensures ( 0 <=Int ( ( KV0_x:Int +Int KV1_y:Int ) -Int KV2_z:Int ) andBool ( ( ( KV0_x:Int +Int KV1_y:Int ) -Int KV2_z:Int ) + rule [BASIC-BLOCK-26-TO-19]: - ( JUMPI 570 bool2Word ( KV0_x:Int <=Int ( maxUInt256 -Int KV1_y:Int ) ) - ~> #pc [ JUMPI ] - ~> #execute - ~> #return 128 32 - ~> #pc [ STATICCALL ] - ~> #execute + ( #execute ~> #return 128 32 ~> #pc [ STATICCALL ] ~> #execute => #halt ~> .K ) @@ -2248,38 +1762,6 @@ module SUMMARY-TEST%ARITHMETICCALLTEST.TEST-DOUBLE-ADD-SUB-EXTERNAL(UINT256,UINT ( ListItem ( - - 491460923342184218035706888008750043977755113263 - - - 728815563385977040452943777879061427756277306518 - - - b"\x9c&\xe07" +Bytes #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) +Bytes #buf ( 32 , KV2_z:Int ) - - - 0 - - - ( 196 : ( 1997931255 : ( 491460923342184218035706888008750043977755113263 : ( 0 : ( 0 : ( KV2_z:Int : ( KV1_y:Int : ( KV0_x:Int : ( 111 : ( 2619793463 : .WordStack ) ) ) ) ) ) ) ) ) ) - - - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00w\x16\x02\xf7" +Bytes #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) - - - 0 - - - 0 - - - true - - - 1 - - ... - ) ListItem ( 728815563385977040452943777879061427756277306518 @@ -2291,115 +1773,30 @@ module SUMMARY-TEST%ARITHMETICCALLTEST.TEST-DOUBLE-ADD-SUB-EXTERNAL(UINT256,UINT 0 - - - ( 228 : ( 2619793463 : ( 491460923342184218035706888008750043977755113263 : ( 0 : ( KV2_z:Int : ( KV1_y:Int : ( KV0_x:Int : ( 247 : ( 2452811148 : .WordStack ) ) ) ) ) ) ) ) ) - - - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9c&\xe07" +Bytes #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) +Bytes #buf ( 32 , KV2_z:Int ) - - - 0 - - - 0 - - - false - - - 0 - - ... - ) => .List ) - - - ( ListItem ( { - ( - - 491460923342184218035706888008750043977755113263 - - - 0 - - - .Map - - - .Map - - - .Map - - - 1 - - ... - - ( - - 645326474426547203313410069153905908525362434349 - - - 0 - - - .Map - - - .Map - - - .Map - - - 0 - - ... - - - - 728815563385977040452943777879061427756277306518 - - - 0 - - - ( ( 11 |-> 1 ) - ( ( 27 |-> 491460923342184218035706888008750043977755113263 ) - ( 7 |-> 1 ) ) ) - - - .Map - - - .Map - - - 2 - - ... - ) ) - | - - SELFDESTRUCT_CELL:Set - - - .List - - + + + ( 228 : ( 2619793463 : ( 491460923342184218035706888008750043977755113263 : ( 0 : ( KV2_z:Int : ( KV1_y:Int : ( KV0_x:Int : ( 247 : ( 2452811148 : .WordStack ) ) ) ) ) ) ) ) ) + + + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9c&\xe07" +Bytes #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) +Bytes #buf ( 32 , KV2_z:Int ) + + 0 - - - ( SetItem ( 491460923342184218035706888008750043977755113263 ) SetItem ( 728815563385977040452943777879061427756277306518 ) ) - - - .Map - - - .Set - - } ) ListItem ( { + + + 0 + + + false + + + 0 + + ... + ) => .List ) + + + ( ListItem ( { ( 491460923342184218035706888008750043977755113263 @@ -2494,19 +1891,19 @@ module SUMMARY-TEST%ARITHMETICCALLTEST.TEST-DOUBLE-ADD-SUB-EXTERNAL(UINT256,UINT ( 491460923342184218035706888008750043977755113263 => 728815563385977040452943777879061427756277306518 ) - ( 491460923342184218035706888008750043977755113263 => 137122462167341575662000267002353578582749290296 ) + ( 728815563385977040452943777879061427756277306518 => 137122462167341575662000267002353578582749290296 ) - ( b"w\x16\x02\xf7" => b"\x922\xed\x8c" ) +Bytes #buf ( 32 , KV0_x:Int ) +Bytes ( #buf ( 32 , KV1_y:Int ) => #buf ( 32 , KV1_y:Int ) +Bytes #buf ( 32 , KV2_z:Int ) ) + ( b"\x9c&\xe07" => b"\x922\xed\x8c" ) +Bytes #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) +Bytes #buf ( 32 , KV2_z:Int ) 0 - ( ( 0 => 1 ) : ( ( KV0_x:Int => 260 ) : ( ( KV1_y:Int => 2619793463 ) : ( ( 217 => 491460923342184218035706888008750043977755113263 ) : ( ( 0 => ( ( KV0_x:Int +Int KV1_y:Int ) -Int KV2_z:Int ) ) : ( ( KV1_y:Int => KV2_z:Int ) : ( ( KV0_x:Int => KV1_y:Int ) : ( ( 111 => KV0_x:Int ) : ( ( 1997931255 => 247 ) : ( .WordStack => ( 2452811148 : .WordStack ) ) ) ) ) ) ) ) ) ) ) + ( .WordStack => ( 1 : ( 260 : ( 2619793463 : ( 491460923342184218035706888008750043977755113263 : ( ( ( KV0_x:Int +Int KV1_y:Int ) -Int KV2_z:Int ) : ( KV2_z:Int : ( KV1_y:Int : ( KV0_x:Int : ( 247 : ( 2452811148 : .WordStack ) ) ) ) ) ) ) ) ) ) ) - ( b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80" => b"NH{q\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #buf ( 32 , ( ( KV0_x:Int +Int KV1_y:Int ) -Int KV2_z:Int ) ) +Bytes b"NH{q\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #range ( #buf ( 32 , ( ( KV0_x:Int +Int KV1_y:Int ) -Int KV2_z:Int ) ) , 28 , 4 ) +Bytes #buf ( 32 , KV1_y:Int ) +Bytes #buf ( 32 , KV2_z:Int ) ) + ( b"" => b"NH{q\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #buf ( 32 , ( ( KV0_x:Int +Int KV1_y:Int ) -Int KV2_z:Int ) ) +Bytes b"NH{q\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #range ( #buf ( 32 , ( ( KV0_x:Int +Int KV1_y:Int ) -Int KV2_z:Int ) ) , 28 , 4 ) +Bytes #buf ( 32 , KV1_y:Int ) +Bytes #buf ( 32 , KV2_z:Int ) ) 0 @@ -2518,7 +1915,7 @@ module SUMMARY-TEST%ARITHMETICCALLTEST.TEST-DOUBLE-ADD-SUB-EXTERNAL(UINT256,UINT ( true => false ) - ( 2 => 0 ) + ( 1 => 0 ) ... @@ -2726,17 +2123,12 @@ module SUMMARY-TEST%ARITHMETICCALLTEST.TEST-DOUBLE-ADD-SUB-EXTERNAL(UINT256,UINT ensures ( 0 <=Int ( ( KV0_x:Int +Int KV1_y:Int ) -Int KV2_z:Int ) andBool ( ( ( KV0_x:Int +Int KV1_y:Int ) -Int KV2_z:Int ) + rule [BASIC-BLOCK-29-TO-22]: - ( JUMPI 570 bool2Word ( KV0_x:Int <=Int ( maxUInt256 -Int KV1_y:Int ) ) - ~> #pc [ JUMPI ] - ~> #execute - ~> #return 128 32 - ~> #pc [ STATICCALL ] - ~> #execute + ( #execute ~> #return 128 32 ~> #pc [ STATICCALL ] ~> #execute => #halt ~> .K ) @@ -2761,38 +2153,6 @@ module SUMMARY-TEST%ARITHMETICCALLTEST.TEST-DOUBLE-ADD-SUB-EXTERNAL(UINT256,UINT ( ListItem ( - - 491460923342184218035706888008750043977755113263 - - - 728815563385977040452943777879061427756277306518 - - - b"\x9c&\xe07" +Bytes #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) +Bytes #buf ( 32 , KV2_z:Int ) - - - 0 - - - ( 196 : ( 1997931255 : ( 491460923342184218035706888008750043977755113263 : ( 0 : ( 0 : ( KV2_z:Int : ( KV1_y:Int : ( KV0_x:Int : ( 111 : ( 2619793463 : .WordStack ) ) ) ) ) ) ) ) ) ) - - - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00w\x16\x02\xf7" +Bytes #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) - - - 0 - - - 0 - - - true - - - 1 - - ... - ) ListItem ( 728815563385977040452943777879061427756277306518 @@ -2893,91 +2253,6 @@ module SUMMARY-TEST%ARITHMETICCALLTEST.TEST-DOUBLE-ADD-SUB-EXTERNAL(UINT256,UINT ... ) ) - | - - SELFDESTRUCT_CELL:Set - - - .List - - - 0 - - - ( SetItem ( 491460923342184218035706888008750043977755113263 ) SetItem ( 728815563385977040452943777879061427756277306518 ) ) - - - .Map - - - .Set - - } ) ListItem ( { - ( - - 491460923342184218035706888008750043977755113263 - - - 0 - - - .Map - - - .Map - - - .Map - - - 1 - - ... - - ( - - 645326474426547203313410069153905908525362434349 - - - 0 - - - .Map - - - .Map - - - .Map - - - 0 - - ... - - - - 728815563385977040452943777879061427756277306518 - - - 0 - - - ( ( 11 |-> 1 ) - ( ( 27 |-> 491460923342184218035706888008750043977755113263 ) - ( 7 |-> 1 ) ) ) - - - .Map - - - .Map - - - 2 - - ... - ) ) | SELFDESTRUCT_CELL:Set @@ -3007,19 +2282,19 @@ module SUMMARY-TEST%ARITHMETICCALLTEST.TEST-DOUBLE-ADD-SUB-EXTERNAL(UINT256,UINT ( 491460923342184218035706888008750043977755113263 => 728815563385977040452943777879061427756277306518 ) - ( 491460923342184218035706888008750043977755113263 => 137122462167341575662000267002353578582749290296 ) + ( 728815563385977040452943777879061427756277306518 => 137122462167341575662000267002353578582749290296 ) - ( b"w\x16\x02\xf7" => b"\x922\xed\x8c" ) +Bytes #buf ( 32 , KV0_x:Int ) +Bytes ( #buf ( 32 , KV1_y:Int ) => #buf ( 32 , KV1_y:Int ) +Bytes #buf ( 32 , KV2_z:Int ) ) + ( b"\x9c&\xe07" => b"\x922\xed\x8c" ) +Bytes #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) +Bytes #buf ( 32 , KV2_z:Int ) 0 - ( ( 0 => 2452811148 ) : ( ( KV0_x:Int : ( KV1_y:Int : ( 217 : ( 0 : ( KV1_y:Int : ( KV0_x:Int : ( 111 : ( 1997931255 : .WordStack ) ) ) ) ) ) ) ) => .WordStack ) ) + ( .WordStack => ( 2452811148 : .WordStack ) ) - ( b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #buf ( 32 , ( ( KV0_x:Int +Int KV1_y:Int ) -Int KV2_z:Int ) ) +Bytes #buf ( 32 , ( ( ( ( KV0_x:Int +Int KV1_y:Int ) -Int KV2_z:Int ) +Int KV1_y:Int ) -Int KV2_z:Int ) ) +Bytes #range ( #buf ( 32 , ( ( KV0_x:Int +Int KV1_y:Int ) -Int KV2_z:Int ) ) , 28 , 4 ) +Bytes #buf ( 32 , KV1_y:Int ) +Bytes #buf ( 32 , KV2_z:Int ) ) + ( b"" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #buf ( 32 , ( ( KV0_x:Int +Int KV1_y:Int ) -Int KV2_z:Int ) ) +Bytes #buf ( 32 , ( ( ( ( KV0_x:Int +Int KV1_y:Int ) -Int KV2_z:Int ) +Int KV1_y:Int ) -Int KV2_z:Int ) ) +Bytes #range ( #buf ( 32 , ( ( KV0_x:Int +Int KV1_y:Int ) -Int KV2_z:Int ) ) , 28 , 4 ) +Bytes #buf ( 32 , KV1_y:Int ) +Bytes #buf ( 32 , KV2_z:Int ) ) 0 @@ -3031,7 +2306,7 @@ module SUMMARY-TEST%ARITHMETICCALLTEST.TEST-DOUBLE-ADD-SUB-EXTERNAL(UINT256,UINT ( true => false ) - ( 2 => 0 ) + ( 1 => 0 ) ... @@ -3240,17 +2515,12 @@ module SUMMARY-TEST%ARITHMETICCALLTEST.TEST-DOUBLE-ADD-SUB-EXTERNAL(UINT256,UINT ensures ( 0 <=Int ( ( KV0_x:Int +Int KV1_y:Int ) -Int KV2_z:Int ) andBool ( ( ( KV0_x:Int +Int KV1_y:Int ) -Int KV2_z:Int ) + rule [BASIC-BLOCK-30-TO-23]: - ( JUMPI 570 bool2Word ( KV0_x:Int <=Int ( maxUInt256 -Int KV1_y:Int ) ) - ~> #pc [ JUMPI ] - ~> #execute - ~> #return 128 32 - ~> #pc [ STATICCALL ] - ~> #execute + ( #execute ~> #return 128 32 ~> #pc [ STATICCALL ] ~> #execute => #halt ~> .K ) @@ -3275,38 +2545,6 @@ module SUMMARY-TEST%ARITHMETICCALLTEST.TEST-DOUBLE-ADD-SUB-EXTERNAL(UINT256,UINT ( ListItem ( - - 491460923342184218035706888008750043977755113263 - - - 728815563385977040452943777879061427756277306518 - - - b"\x9c&\xe07" +Bytes #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) +Bytes #buf ( 32 , KV2_z:Int ) - - - 0 - - - ( 196 : ( 1997931255 : ( 491460923342184218035706888008750043977755113263 : ( 0 : ( 0 : ( KV2_z:Int : ( KV1_y:Int : ( KV0_x:Int : ( 111 : ( 2619793463 : .WordStack ) ) ) ) ) ) ) ) ) ) - - - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00w\x16\x02\xf7" +Bytes #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) - - - 0 - - - 0 - - - true - - - 1 - - ... - ) ListItem ( 728815563385977040452943777879061427756277306518 @@ -3407,91 +2645,6 @@ module SUMMARY-TEST%ARITHMETICCALLTEST.TEST-DOUBLE-ADD-SUB-EXTERNAL(UINT256,UINT ... ) ) - | - - SELFDESTRUCT_CELL:Set - - - .List - - - 0 - - - ( SetItem ( 491460923342184218035706888008750043977755113263 ) SetItem ( 728815563385977040452943777879061427756277306518 ) ) - - - .Map - - - .Set - - } ) ListItem ( { - ( - - 491460923342184218035706888008750043977755113263 - - - 0 - - - .Map - - - .Map - - - .Map - - - 1 - - ... - - ( - - 645326474426547203313410069153905908525362434349 - - - 0 - - - .Map - - - .Map - - - .Map - - - 0 - - ... - - - - 728815563385977040452943777879061427756277306518 - - - 0 - - - ( ( 11 |-> 1 ) - ( ( 27 |-> 491460923342184218035706888008750043977755113263 ) - ( 7 |-> 1 ) ) ) - - - .Map - - - .Map - - - 2 - - ... - ) ) | SELFDESTRUCT_CELL:Set @@ -3521,19 +2674,19 @@ module SUMMARY-TEST%ARITHMETICCALLTEST.TEST-DOUBLE-ADD-SUB-EXTERNAL(UINT256,UINT ( 491460923342184218035706888008750043977755113263 => 728815563385977040452943777879061427756277306518 ) - ( 491460923342184218035706888008750043977755113263 => 137122462167341575662000267002353578582749290296 ) + ( 728815563385977040452943777879061427756277306518 => 137122462167341575662000267002353578582749290296 ) - ( b"w\x16\x02\xf7" => b"\x922\xed\x8c" ) +Bytes #buf ( 32 , KV0_x:Int ) +Bytes ( #buf ( 32 , KV1_y:Int ) => #buf ( 32 , KV1_y:Int ) +Bytes #buf ( 32 , KV2_z:Int ) ) + ( b"\x9c&\xe07" => b"\x922\xed\x8c" ) +Bytes #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) +Bytes #buf ( 32 , KV2_z:Int ) 0 - ( ( 0 => 1762 ) : ( ( KV0_x:Int => ( ( ( ( KV0_x:Int +Int KV1_y:Int ) -Int KV2_z:Int ) +Int KV1_y:Int ) -Int KV2_z:Int ) ) : ( ( KV1_y:Int => KV2_z:Int ) : ( ( 217 => KV1_y:Int ) : ( ( 0 => KV0_x:Int ) : ( ( KV1_y:Int => 247 ) : ( ( KV0_x:Int => 2452811148 ) : ( ( 111 : ( 1997931255 : .WordStack ) ) => .WordStack ) ) ) ) ) ) ) ) + ( .WordStack => ( 1762 : ( ( ( ( ( KV0_x:Int +Int KV1_y:Int ) -Int KV2_z:Int ) +Int KV1_y:Int ) -Int KV2_z:Int ) : ( KV2_z:Int : ( KV1_y:Int : ( KV0_x:Int : ( 247 : ( 2452811148 : .WordStack ) ) ) ) ) ) ) ) - ( b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80" => b"NH{q\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #buf ( 32 , ( ( KV0_x:Int +Int KV1_y:Int ) -Int KV2_z:Int ) ) +Bytes #buf ( 32 , ( ( ( ( KV0_x:Int +Int KV1_y:Int ) -Int KV2_z:Int ) +Int KV1_y:Int ) -Int KV2_z:Int ) ) +Bytes #range ( #buf ( 32 , ( ( KV0_x:Int +Int KV1_y:Int ) -Int KV2_z:Int ) ) , 28 , 4 ) +Bytes #buf ( 32 , KV1_y:Int ) +Bytes #buf ( 32 , KV2_z:Int ) ) + ( b"" => b"NH{q\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #buf ( 32 , ( ( KV0_x:Int +Int KV1_y:Int ) -Int KV2_z:Int ) ) +Bytes #buf ( 32 , ( ( ( ( KV0_x:Int +Int KV1_y:Int ) -Int KV2_z:Int ) +Int KV1_y:Int ) -Int KV2_z:Int ) ) +Bytes #range ( #buf ( 32 , ( ( KV0_x:Int +Int KV1_y:Int ) -Int KV2_z:Int ) ) , 28 , 4 ) +Bytes #buf ( 32 , KV1_y:Int ) +Bytes #buf ( 32 , KV2_z:Int ) ) 0 @@ -3545,7 +2698,7 @@ module SUMMARY-TEST%ARITHMETICCALLTEST.TEST-DOUBLE-ADD-SUB-EXTERNAL(UINT256,UINT ( true => false ) - ( 2 => 0 ) + ( 1 => 0 ) ... @@ -3754,6 +2907,6 @@ module SUMMARY-TEST%ARITHMETICCALLTEST.TEST-DOUBLE-ADD-SUB-EXTERNAL(UINT256,UINT ensures ( 0 <=Int ( ( KV0_x:Int +Int KV1_y:Int ) -Int KV2_z:Int ) andBool ( ( ( KV0_x:Int +Int KV1_y:Int ) -Int KV2_z:Int ) + + + false + + ... + + + + false + + ... + false @@ -354,6 +366,18 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD(UINT256,UINT256):0 true + + + false + + ... + + + + false + + ... + false diff --git a/src/tests/integration/test-data/show/ArithmeticContract.add_sub_external(uint256,uint256,uint256).cse.expected b/src/tests/integration/test-data/show/ArithmeticContract.add_sub_external(uint256,uint256,uint256).cse.expected index 56aed2e98..358c6df50 100644 --- a/src/tests/integration/test-data/show/ArithmeticContract.add_sub_external(uint256,uint256,uint256).cse.expected +++ b/src/tests/integration/test-data/show/ArithmeticContract.add_sub_external(uint256,uint256,uint256).cse.expected @@ -1,1713 +1,156 @@ -┌─ 1 (root, init) +┌─ 1 (root, split, init) │ k: #execute ~> CONTINUATION:K │ pc: 0 │ callDepth: CALLDEPTH_CELL:Int │ statusCode: STATUSCODE:StatusCode │ src: test/nested/SimpleNested.t.sol:7:11 │ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) -│ -│ (455 steps) -├─ 3 -│ k: #next [ STATICCALL ] ~> #execute ~> CONTINUATION:K -│ pc: 279 -│ callDepth: CALLDEPTH_CELL:Int -│ statusCode: STATUSCODE:StatusCode -│ src: lib/forge-std/src/StdInvariant.sol:85:87 -│ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) ┃ -┃ (1 step) -┣━━┓ +┃ (branch) +┣━━┓ subst: .Subst +┃ ┃ constraint: +┃ ┃ 1024 <=Int CALLDEPTH_CELL:Int +┃ │ +┃ ├─ 17 +┃ │ k: #execute ~> CONTINUATION:K +┃ │ pc: 0 +┃ │ callDepth: CALLDEPTH_CELL:Int +┃ │ statusCode: STATUSCODE:StatusCode +┃ │ src: test/nested/SimpleNested.t.sol:7:11 +┃ │ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) +┃ │ +┃ │ (539 steps) +┃ ├─ 7 (terminal) +┃ │ k: #halt ~> CONTINUATION:K +┃ │ pc: 295 +┃ │ callDepth: CALLDEPTH_CELL:Int +┃ │ statusCode: EVMC_REVERT +┃ │ src: lib/forge-std/lib/ds-test/src/test.sol:47:63 +┃ │ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) +┃ │ +┃ ┊ constraint: +┃ ┊ ( notBool + C_ARITHMETICCONTRACT_ID:Int + in_keys ( ACCOUNTS_REST:AccountCellMap ) ) +┃ ┊ subst: ... +┃ └─ 2 (leaf, target, terminal) +┃ k: #halt ~> CONTINUATION:K +┃ pc: PC_CELL_5d410f2a:Int +┃ callDepth: CALLDEPTH_CELL_5d410f2a:Int +┃ statusCode: STATUSCODE_FINAL:StatusCode +┃ +┣━━┓ subst: .Subst +┃ ┃ constraint: +┃ ┃ CALLDEPTH_CELL:Int #checkRevert ~> #updateRevertOutput 128 32 ~> #execute ~ ... -┃ │ pc: 279 -┃ │ callDepth: EXPECTEDDEPTH_CELL:Int +┃ ├─ 23 +┃ │ k: #execute ~> CONTINUATION:K +┃ │ pc: 0 +┃ │ callDepth: CALLDEPTH_CELL:Int ┃ │ statusCode: STATUSCODE:StatusCode -┃ │ src: lib/forge-std/src/StdInvariant.sol:85:87 +┃ │ src: test/nested/SimpleNested.t.sol:7:11 +┃ │ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) +┃ │ +┃ │ (552 steps) +┃ ├─ 11 (terminal) +┃ │ k: #halt ~> CONTINUATION:K +┃ │ pc: 295 +┃ │ callDepth: CALLDEPTH_CELL:Int +┃ │ statusCode: EVMC_REVERT +┃ │ src: lib/forge-std/lib/ds-test/src/test.sol:47:63 ┃ │ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) -┃ ┃ -┃ ┃ (branch) -┃ ┣━━┓ subst: .Subst -┃ ┃ ┃ constraint: -┃ ┃ ┃ ACTIVE_CELL:Bool -┃ ┃ ┃ DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int -┃ ┃ ┃ ( notBool NEWCALLER_CELL:Account ==K C_ARITHMETICCONTRACT_ID:Int ) -┃ ┃ │ -┃ ┃ ├─ 7 -┃ ┃ │ k: #next [ STATICCALL ] ~> #checkRevert ~> #updateRevertOutput 128 32 ~> #execute ~ ... -┃ ┃ │ pc: 279 -┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int -┃ ┃ │ statusCode: STATUSCODE:StatusCode -┃ ┃ │ src: lib/forge-std/src/StdInvariant.sol:85:87 -┃ ┃ │ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) -┃ ┃ │ -┃ ┃ │ (1 step) -┃ ┃ ├─ 13 -┃ ┃ │ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateReve ... -┃ ┃ │ pc: 279 -┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int -┃ ┃ │ statusCode: STATUSCODE:StatusCode -┃ ┃ │ src: lib/forge-std/src/StdInvariant.sol:85:87 -┃ ┃ │ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) -┃ ┃ ┃ -┃ ┃ ┃ (1 step) -┃ ┃ ┣━━┓ -┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 22 -┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 128 32 ... -┃ ┃ ┃ │ pc: 279 -┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int -┃ ┃ ┃ │ statusCode: STATUSCODE:StatusCode -┃ ┃ ┃ │ src: lib/forge-std/src/StdInvariant.sol:85:87 -┃ ┃ ┃ │ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) -┃ ┃ ┃ │ -┃ ┃ ┃ │ (7 steps) -┃ ┃ ┃ └─ 39 (leaf, pending) -┃ ┃ ┃ k: #checkBalanceUnderflow NCL:Int 0 ~> #checkDepthExceeded ~> #call NCL:Int C_ARITH ... -┃ ┃ ┃ pc: 279 -┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int -┃ ┃ ┃ statusCode: STATUSCODE:StatusCode -┃ ┃ ┃ src: lib/forge-std/src/StdInvariant.sol:85:87 -┃ ┃ ┃ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) -┃ ┃ ┃ -┃ ┃ ┣━━┓ -┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 23 -┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 128 32 ... -┃ ┃ ┃ │ pc: 279 -┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int -┃ ┃ ┃ │ statusCode: STATUSCODE:StatusCode -┃ ┃ ┃ │ src: lib/forge-std/src/StdInvariant.sol:85:87 -┃ ┃ ┃ │ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) -┃ ┃ ┃ │ -┃ ┃ ┃ │ (7 steps) -┃ ┃ ┃ └─ 40 (leaf, pending) -┃ ┃ ┃ k: #checkBalanceUnderflow NCL:Int 0 ~> #checkDepthExceeded ~> #call NCL:Int C_ARITH ... -┃ ┃ ┃ pc: 279 -┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int -┃ ┃ ┃ statusCode: STATUSCODE:StatusCode -┃ ┃ ┃ src: lib/forge-std/src/StdInvariant.sol:85:87 -┃ ┃ ┃ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) -┃ ┃ ┃ -┃ ┃ ┗━━┓ -┃ ┃ │ -┃ ┃ ├─ 24 -┃ ┃ │ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateReve ... -┃ ┃ │ pc: 279 -┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int -┃ ┃ │ statusCode: STATUSCODE:StatusCode -┃ ┃ │ src: lib/forge-std/src/StdInvariant.sol:85:87 -┃ ┃ │ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) -┃ ┃ ┃ -┃ ┃ ┃ (1 step) -┃ ┃ ┣━━┓ -┃ ┃ ┃ │ -┃ ┃ ┃ └─ 41 (leaf, pending) -┃ ┃ ┃ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 128 32 ... -┃ ┃ ┃ pc: 279 -┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int -┃ ┃ ┃ statusCode: STATUSCODE:StatusCode -┃ ┃ ┃ src: lib/forge-std/src/StdInvariant.sol:85:87 -┃ ┃ ┃ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) -┃ ┃ ┃ -┃ ┃ ┗━━┓ -┃ ┃ │ -┃ ┃ └─ 42 (leaf, pending) -┃ ┃ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateReve ... -┃ ┃ pc: 279 -┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int -┃ ┃ statusCode: STATUSCODE:StatusCode -┃ ┃ src: lib/forge-std/src/StdInvariant.sol:85:87 -┃ ┃ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) -┃ ┃ -┃ ┣━━┓ subst: .Subst -┃ ┃ ┃ constraint: -┃ ┃ ┃ ACTIVE_CELL:Bool -┃ ┃ ┃ DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int -┃ ┃ ┃ ( notBool NEWCALLER_CELL:Account ==K C_ARITHMETICCONTRACT_ID:Int ) -┃ ┃ │ -┃ ┃ ├─ 14 -┃ ┃ │ k: #next [ STATICCALL ] ~> #checkRevert ~> #updateRevertOutput 128 32 ~> #execute ~ ... -┃ ┃ │ pc: 279 -┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int -┃ ┃ │ statusCode: STATUSCODE:StatusCode -┃ ┃ │ src: lib/forge-std/src/StdInvariant.sol:85:87 -┃ ┃ │ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) -┃ ┃ │ -┃ ┃ │ (1 step) -┃ ┃ ├─ 25 -┃ ┃ │ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateReve ... -┃ ┃ │ pc: 279 -┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int -┃ ┃ │ statusCode: STATUSCODE:StatusCode -┃ ┃ │ src: lib/forge-std/src/StdInvariant.sol:85:87 -┃ ┃ │ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) -┃ ┃ ┃ -┃ ┃ ┃ (1 step) -┃ ┃ ┣━━┓ -┃ ┃ ┃ │ -┃ ┃ ┃ └─ 43 (leaf, pending) -┃ ┃ ┃ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 128 32 ... -┃ ┃ ┃ pc: 279 -┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int -┃ ┃ ┃ statusCode: STATUSCODE:StatusCode -┃ ┃ ┃ src: lib/forge-std/src/StdInvariant.sol:85:87 -┃ ┃ ┃ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) -┃ ┃ ┃ -┃ ┃ ┣━━┓ -┃ ┃ ┃ │ -┃ ┃ ┃ └─ 44 (leaf, pending) -┃ ┃ ┃ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 128 32 ... -┃ ┃ ┃ pc: 279 -┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int -┃ ┃ ┃ statusCode: STATUSCODE:StatusCode -┃ ┃ ┃ src: lib/forge-std/src/StdInvariant.sol:85:87 -┃ ┃ ┃ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) -┃ ┃ ┃ -┃ ┃ ┗━━┓ -┃ ┃ │ -┃ ┃ └─ 45 (leaf, pending) -┃ ┃ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateReve ... -┃ ┃ pc: 279 -┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int -┃ ┃ statusCode: STATUSCODE:StatusCode -┃ ┃ src: lib/forge-std/src/StdInvariant.sol:85:87 -┃ ┃ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) -┃ ┃ -┃ ┣━━┓ subst: .Subst -┃ ┃ ┃ constraint: -┃ ┃ ┃ ACTIVE_CELL:Bool -┃ ┃ ┃ DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int -┃ ┃ ┃ ( notBool NEWCALLER_CELL:Account ==K C_ARITHMETICCONTRACT_ID:Int ) -┃ ┃ │ -┃ ┃ ├─ 26 -┃ ┃ │ k: #next [ STATICCALL ] ~> #checkRevert ~> #updateRevertOutput 128 32 ~> #execute ~ ... -┃ ┃ │ pc: 279 -┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int -┃ ┃ │ statusCode: STATUSCODE:StatusCode -┃ ┃ │ src: lib/forge-std/src/StdInvariant.sol:85:87 -┃ ┃ │ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) -┃ ┃ │ -┃ ┃ │ (1 step) -┃ ┃ └─ 46 (leaf, pending) -┃ ┃ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateReve ... -┃ ┃ pc: 279 -┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int -┃ ┃ statusCode: STATUSCODE:StatusCode -┃ ┃ src: lib/forge-std/src/StdInvariant.sol:85:87 -┃ ┃ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) -┃ ┃ -┃ ┣━━┓ subst: .Subst -┃ ┃ ┃ constraint: -┃ ┃ ┃ ACTIVE_CELL:Bool -┃ ┃ ┃ DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int -┃ ┃ ┃ ( notBool NEWCALLER_CELL:Account ==K C_ARITHMETICCONTRACT_ID:Int ) -┃ ┃ │ -┃ ┃ └─ 47 (leaf, pending) -┃ ┃ k: #next [ STATICCALL ] ~> #checkRevert ~> #updateRevertOutput 128 32 ~> #execute ~ ... -┃ ┃ pc: 279 -┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int -┃ ┃ statusCode: STATUSCODE:StatusCode -┃ ┃ src: lib/forge-std/src/StdInvariant.sol:85:87 -┃ ┃ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) -┃ ┃ -┃ ┗━━┓ subst: .Subst -┃ ┃ constraint: true -┃ │ -┃ └─ 48 (leaf, pending) -┃ k: #next [ STATICCALL ] ~> #checkRevert ~> #updateRevertOutput 128 32 ~> #execute ~ ... -┃ pc: 279 -┃ callDepth: EXPECTEDDEPTH_CELL:Int -┃ statusCode: STATUSCODE:StatusCode -┃ src: lib/forge-std/src/StdInvariant.sol:85:87 -┃ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) +┃ │ +┃ ┊ constraint: +┃ ┊ ( notBool + C_ARITHMETICCONTRACT_ID:Int + in_keys ( ACCOUNTS_REST:AccountCellMap ) ) +┃ ┊ subst: ... +┃ └─ 2 (leaf, target, terminal) +┃ k: #halt ~> CONTINUATION:K +┃ pc: PC_CELL_5d410f2a:Int +┃ callDepth: CALLDEPTH_CELL_5d410f2a:Int +┃ statusCode: STATUSCODE_FINAL:StatusCode ┃ -┣━━┓ +┣━━┓ subst: .Subst +┃ ┃ constraint: +┃ ┃ CALLDEPTH_CELL:Int #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K -┃ │ pc: 279 -┃ │ callDepth: DEPTH_CELL:Int +┃ ├─ 26 +┃ │ k: #execute ~> CONTINUATION:K +┃ │ pc: 0 +┃ │ callDepth: CALLDEPTH_CELL:Int ┃ │ statusCode: STATUSCODE:StatusCode -┃ │ src: lib/forge-std/src/StdInvariant.sol:85:87 +┃ │ src: test/nested/SimpleNested.t.sol:7:11 +┃ │ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) +┃ │ +┃ │ (921 steps) +┃ ├─ 14 (terminal) +┃ │ k: #halt ~> CONTINUATION:K +┃ │ pc: 128 +┃ │ callDepth: CALLDEPTH_CELL:Int +┃ │ statusCode: EVMC_SUCCESS +┃ │ src: test/nested/SimpleNested.t.sol:7:11 ┃ │ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) -┃ ┃ -┃ ┃ (1 step) -┃ ┣━━┓ -┃ ┃ │ -┃ ┃ ├─ 9 -┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K -┃ ┃ │ pc: 279 -┃ ┃ │ callDepth: DEPTH_CELL:Int -┃ ┃ │ statusCode: STATUSCODE:StatusCode -┃ ┃ │ src: lib/forge-std/src/StdInvariant.sol:85:87 -┃ ┃ │ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) -┃ ┃ │ -┃ ┃ │ (7 steps) -┃ ┃ ├─ 16 -┃ ┃ │ k: #checkBalanceUnderflow NCL:Int 0 ~> #checkDepthExceeded ~> #call NCL:Int C_ARITH ... -┃ ┃ │ pc: 279 -┃ ┃ │ callDepth: DEPTH_CELL:Int -┃ ┃ │ statusCode: STATUSCODE:StatusCode -┃ ┃ │ src: lib/forge-std/src/StdInvariant.sol:85:87 -┃ ┃ │ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) -┃ ┃ ┃ -┃ ┃ ┃ (1 step) -┃ ┃ ┣━━┓ -┃ ┃ ┃ │ -┃ ┃ ┃ └─ 28 (leaf, pending) -┃ ┃ ┃ k: #refund 0 ~> #pushCallStack ~> #pushWorldState ~> #end EVMC_BALANCE_UNDERFLOW ~> ... -┃ ┃ ┃ pc: 279 -┃ ┃ ┃ callDepth: DEPTH_CELL:Int -┃ ┃ ┃ statusCode: STATUSCODE:StatusCode -┃ ┃ ┃ src: lib/forge-std/src/StdInvariant.sol:85:87 -┃ ┃ ┃ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) -┃ ┃ ┃ -┃ ┃ ┣━━┓ -┃ ┃ ┃ │ -┃ ┃ ┃ └─ 29 (leaf, pending) -┃ ┃ ┃ k: #checkDepthExceeded ~> #call NCL:Int C_ARITHMETICCONTRACT_ID:Int C_ARITHMETICCON ... -┃ ┃ ┃ pc: 279 -┃ ┃ ┃ callDepth: DEPTH_CELL:Int -┃ ┃ ┃ statusCode: STATUSCODE:StatusCode -┃ ┃ ┃ src: lib/forge-std/src/StdInvariant.sol:85:87 -┃ ┃ ┃ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) -┃ ┃ ┃ -┃ ┃ ┗━━┓ -┃ ┃ │ -┃ ┃ └─ 30 (leaf, pending) -┃ ┃ k: #checkBalanceUnderflow NCL:Int 0 ~> #checkDepthExceeded ~> #call NCL:Int C_ARITH ... -┃ ┃ pc: 279 -┃ ┃ callDepth: DEPTH_CELL:Int -┃ ┃ statusCode: STATUSCODE:StatusCode -┃ ┃ src: lib/forge-std/src/StdInvariant.sol:85:87 -┃ ┃ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) -┃ ┃ -┃ ┣━━┓ -┃ ┃ │ -┃ ┃ ├─ 10 -┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K -┃ ┃ │ pc: 279 -┃ ┃ │ callDepth: DEPTH_CELL:Int -┃ ┃ │ statusCode: STATUSCODE:StatusCode -┃ ┃ │ src: lib/forge-std/src/StdInvariant.sol:85:87 -┃ ┃ │ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) -┃ ┃ │ -┃ ┃ │ (7 steps) -┃ ┃ ├─ 17 -┃ ┃ │ k: #checkBalanceUnderflow NCL:Int 0 ~> #checkDepthExceeded ~> #call NCL:Int C_ARITH ... -┃ ┃ │ pc: 279 -┃ ┃ │ callDepth: DEPTH_CELL:Int -┃ ┃ │ statusCode: STATUSCODE:StatusCode -┃ ┃ │ src: lib/forge-std/src/StdInvariant.sol:85:87 -┃ ┃ │ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) -┃ ┃ ┃ -┃ ┃ ┃ (1 step) -┃ ┃ ┣━━┓ -┃ ┃ ┃ │ -┃ ┃ ┃ └─ 31 (leaf, pending) -┃ ┃ ┃ k: #refund 0 ~> #pushCallStack ~> #pushWorldState ~> #end EVMC_BALANCE_UNDERFLOW ~> ... -┃ ┃ ┃ pc: 279 -┃ ┃ ┃ callDepth: DEPTH_CELL:Int -┃ ┃ ┃ statusCode: STATUSCODE:StatusCode -┃ ┃ ┃ src: lib/forge-std/src/StdInvariant.sol:85:87 -┃ ┃ ┃ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) -┃ ┃ ┃ -┃ ┃ ┣━━┓ -┃ ┃ ┃ │ -┃ ┃ ┃ └─ 32 (leaf, pending) -┃ ┃ ┃ k: #checkDepthExceeded ~> #call NCL:Int C_ARITHMETICCONTRACT_ID:Int C_ARITHMETICCON ... -┃ ┃ ┃ pc: 279 -┃ ┃ ┃ callDepth: DEPTH_CELL:Int -┃ ┃ ┃ statusCode: STATUSCODE:StatusCode -┃ ┃ ┃ src: lib/forge-std/src/StdInvariant.sol:85:87 -┃ ┃ ┃ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) -┃ ┃ ┃ -┃ ┃ ┗━━┓ -┃ ┃ │ -┃ ┃ └─ 33 (leaf, pending) -┃ ┃ k: #checkBalanceUnderflow NCL:Int 0 ~> #checkDepthExceeded ~> #call NCL:Int C_ARITH ... -┃ ┃ pc: 279 -┃ ┃ callDepth: DEPTH_CELL:Int -┃ ┃ statusCode: STATUSCODE:StatusCode -┃ ┃ src: lib/forge-std/src/StdInvariant.sol:85:87 -┃ ┃ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) -┃ ┃ -┃ ┗━━┓ -┃ │ -┃ ├─ 11 -┃ │ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K -┃ │ pc: 279 -┃ │ callDepth: DEPTH_CELL:Int -┃ │ statusCode: STATUSCODE:StatusCode -┃ │ src: lib/forge-std/src/StdInvariant.sol:85:87 -┃ │ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) -┃ ┃ -┃ ┃ (1 step) -┃ ┣━━┓ -┃ ┃ │ -┃ ┃ ├─ 18 -┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K -┃ ┃ │ pc: 279 -┃ ┃ │ callDepth: DEPTH_CELL:Int -┃ ┃ │ statusCode: STATUSCODE:StatusCode -┃ ┃ │ src: lib/forge-std/src/StdInvariant.sol:85:87 -┃ ┃ │ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) -┃ ┃ │ -┃ ┃ │ (7 steps) -┃ ┃ └─ 34 (leaf, pending) -┃ ┃ k: #checkBalanceUnderflow NCL:Int 0 ~> #checkDepthExceeded ~> #call NCL:Int C_ARITH ... -┃ ┃ pc: 279 -┃ ┃ callDepth: DEPTH_CELL:Int -┃ ┃ statusCode: STATUSCODE:StatusCode -┃ ┃ src: lib/forge-std/src/StdInvariant.sol:85:87 -┃ ┃ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) -┃ ┃ -┃ ┗━━┓ -┃ │ -┃ ├─ 19 -┃ │ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K -┃ │ pc: 279 -┃ │ callDepth: DEPTH_CELL:Int -┃ │ statusCode: STATUSCODE:StatusCode -┃ │ src: lib/forge-std/src/StdInvariant.sol:85:87 -┃ │ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) -┃ ┃ -┃ ┃ (1 step) -┃ ┣━━┓ -┃ ┃ │ -┃ ┃ └─ 35 (leaf, pending) -┃ ┃ k: #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K -┃ ┃ pc: 279 -┃ ┃ callDepth: DEPTH_CELL:Int -┃ ┃ statusCode: STATUSCODE:StatusCode -┃ ┃ src: lib/forge-std/src/StdInvariant.sol:85:87 -┃ ┃ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) -┃ ┃ -┃ ┗━━┓ -┃ │ -┃ └─ 36 (leaf, pending) -┃ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K -┃ pc: 279 -┃ callDepth: DEPTH_CELL:Int -┃ statusCode: STATUSCODE:StatusCode -┃ src: lib/forge-std/src/StdInvariant.sol:85:87 -┃ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) +┃ │ +┃ ┊ constraint: +┃ ┊ ( notBool + C_ARITHMETICCONTRACT_ID:Int + in_keys ( ACCOUNTS_REST:AccountCellMap ) ) +┃ ┊ subst: ... +┃ └─ 2 (leaf, target, terminal) +┃ k: #halt ~> CONTINUATION:K +┃ pc: PC_CELL_5d410f2a:Int +┃ callDepth: CALLDEPTH_CELL_5d410f2a:Int +┃ statusCode: STATUSCODE_FINAL:StatusCode ┃ -┗━━┓ +┗━━┓ subst: .Subst + ┃ constraint: + ┃ CALLDEPTH_CELL:Int #exec [ STATICCALL ] ~> #pc [ STATICCALL ] ~> #execute ~ ... - │ pc: 279 + ├─ 27 + │ k: #execute ~> CONTINUATION:K + │ pc: 0 │ callDepth: CALLDEPTH_CELL:Int │ statusCode: STATUSCODE:StatusCode - │ src: lib/forge-std/src/StdInvariant.sol:85:87 - │ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) - ┃ - ┃ (branch) - ┣━━┓ subst: .Subst - ┃ ┃ constraint: - ┃ ┃ CALLDEPTH_CELL:Int #exec [ STATICCALL ] ~> #pc [ STATICCALL ] ~> #execute ~ ... - ┃ │ pc: 279 - ┃ │ callDepth: CALLDEPTH_CELL:Int - ┃ │ statusCode: STATUSCODE:StatusCode - ┃ │ src: lib/forge-std/src/StdInvariant.sol:85:87 - ┃ │ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) - ┃ │ - ┃ │ (23 steps) - ┃ └─ 37 (leaf, pending) - ┃ k: #execute ~> #return 128 32 ~> #pc [ STATICCALL ] ~> #execute ~> CONTINUATION:K - ┃ pc: 0 - ┃ callDepth: ( CALLDEPTH_CELL:Int +Int 1 ) - ┃ statusCode: STATUSCODE:StatusCode - ┃ src: test/nested/SimpleNested.t.sol:7:11 - ┃ method: src%ArithmeticContract.add(uint256,uint256) - ┃ - ┗━━┓ subst: .Subst - ┃ constraint: - ┃ 1024 <=Int CALLDEPTH_CELL:Int - │ - ├─ 50 - │ k: #addr [ STATICCALL ] ~> #exec [ STATICCALL ] ~> #pc [ STATICCALL ] ~> #execute ~ ... - │ pc: 279 - │ callDepth: CALLDEPTH_CELL:Int - │ statusCode: STATUSCODE:StatusCode - │ src: lib/forge-std/src/StdInvariant.sol:85:87 - │ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) - │ - │ (83 steps) - └─ 38 (leaf, pending) - k: #halt ~> CONTINUATION:K - pc: 295 - callDepth: CALLDEPTH_CELL:Int - statusCode: EVMC_REVERT - src: lib/forge-std/lib/ds-test/src/test.sol:47:63 - method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) - - -┌─ 2 (root, leaf, target, terminal) -│ k: #halt ~> CONTINUATION:K -│ pc: PC_CELL_5d410f2a:Int -│ callDepth: CALLDEPTH_CELL_5d410f2a:Int -│ statusCode: STATUSCODE_FINAL:StatusCode - - - -module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256):0 - - - rule [BASIC-BLOCK-1-TO-3]: - - - ( .K => #next [ STATICCALL ] ~> .K ) - ~> #execute - ~> _CONTINUATION:K - - - NORMAL - - - CANCUN - - - false - - - - - - C_ARITHMETICCONTRACT_ID:Int - - - CALLER_ID:Int - - - b"\x9c&\xe07" +Bytes #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) +Bytes #buf ( 32 , KV2_z:Int ) - - - 0 - - - ( .WordStack => ( 0 : ( C_ARITHMETICCONTRACT_ID:Int : ( 128 : ( 68 : ( 128 : ( 32 : ( 196 : ( 1997931255 : ( C_ARITHMETICCONTRACT_ID:Int : ( 0 : ( 0 : ( KV2_z:Int : ( KV1_y:Int : ( KV0_x:Int : ( 111 : ( 2619793463 : .WordStack ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) - - - ( b"" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00w\x16\x02\xf7" +Bytes #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) ) - - - 0 - - - 0 - - ... - - - - 0 - - ... - - - ORIGIN_ID:Int - - - - NUMBER_CELL:Int - - - TIMESTAMP_CELL:Int - - ... - - ... - - - - 1 - - - ( - - C_ARITHMETICCONTRACT_ID:Int - - - C_ARITHMETICCONTRACT_BAL:Int - - - C_ARITHMETICCONTRACT_NONCE:Int - - ... - - ACCOUNTS_REST:AccountCellMap ) - - ... - - - ... - - - true - - - - - false - - ... - - - - false - - - .List - - - false - - - .List - - - - .MockCallCellMap - - - .MockFunctionCellMap - - ... - - - - false - - - false - - - false - - - false - - - false - - - .List - - - - requires ( 0 <=Int KV0_x:Int - andBool ( 0 <=Int KV1_y:Int - andBool ( 0 <=Int KV2_z:Int - andBool ( 0 <=Int CALLER_ID:Int - andBool ( 0 <=Int ORIGIN_ID:Int - andBool ( pow24 - C_ARITHMETICCONTRACT_ID:Int - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) - andBool ( ( notBool #range ( 0 < CALLER_ID:Int <= 10 ) ) - andBool ( ( notBool #range ( 0 < ORIGIN_ID:Int <= 10 ) ) - andBool ( ( notBool #range ( 0 < C_ARITHMETICCONTRACT_ID:Int <= 10 ) ) - ))))))))))))))))))))))))))) - [priority(20), label(BASIC-BLOCK-1-TO-3)] - - rule [BASIC-BLOCK-7-TO-13]: - - - ( #next [ STATICCALL ] ~> .K => #injectPrank - ~> #next [ STATICCALL ] - ~> #endPrank ) - ~> #checkRevert - ~> #updateRevertOutput 128 32 - ~> #execute - ~> _CONTINUATION:K - - - NORMAL - - - CANCUN - - - false - - - - - - C_ARITHMETICCONTRACT_ID:Int - - - CALLER_ID:Int - - - b"\x9c&\xe07" +Bytes #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) +Bytes #buf ( 32 , KV2_z:Int ) - - - 0 - - - ( 0 : ( C_ARITHMETICCONTRACT_ID:Int : ( 128 : ( 68 : ( 128 : ( 32 : ( 196 : ( 1997931255 : ( C_ARITHMETICCONTRACT_ID:Int : ( 0 : ( 0 : ( KV2_z:Int : ( KV1_y:Int : ( KV0_x:Int : ( 111 : ( 2619793463 : .WordStack ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) - - - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00w\x16\x02\xf7" +Bytes #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) - - - 0 - - - 0 - - - EXPECTEDDEPTH_CELL:Int - - ... - - - - 0 - - ... - - - ORIGIN_ID:Int - - - - NUMBER_CELL:Int - - - TIMESTAMP_CELL:Int - - ... - - ... - - - - 1 - - - ( - - C_ARITHMETICCONTRACT_ID:Int - - - C_ARITHMETICCONTRACT_BAL:Int - - - C_ARITHMETICCONTRACT_NONCE:Int - - ... - - ACCOUNTS_REST:AccountCellMap ) - - ... - - - ... - - - true - - - - - NEWCALLER_CELL:Account - - - ( ACTIVE_CELL:Bool => true ) - - - ( DEPTH_CELL:Int => EXPECTEDDEPTH_CELL:Int ) - - ... - - - - true - - - EXPECTEDDEPTH_CELL:Int - - ... - - - - false - - ... - - - - false - - - .List - - - false - - - .List - - - - .MockCallCellMap - - - .MockFunctionCellMap - - ... - - - - false - - - false - - - false - - - false - - - false - - - .List - - - - requires ( ACTIVE_CELL:Bool - andBool ( _ISREVERTEXPECTED_CELL:Bool - andBool ( DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( 0 <=Int KV0_x:Int - andBool ( 0 <=Int KV1_y:Int - andBool ( 0 <=Int KV2_z:Int - andBool ( 0 <=Int CALLER_ID:Int - andBool ( 0 <=Int ORIGIN_ID:Int - andBool ( pow24 - C_ARITHMETICCONTRACT_ID:Int - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) - andBool ( ( notBool #range ( 0 < CALLER_ID:Int <= 10 ) ) - andBool ( ( notBool #range ( 0 < ORIGIN_ID:Int <= 10 ) ) - andBool ( ( notBool #range ( 0 < C_ARITHMETICCONTRACT_ID:Int <= 10 ) ) - )))))))))))))))))))))))))))))))) - ensures NEWCALLER_CELL:Account ~> .K =/=K C_ARITHMETICCONTRACT_ID:Int ~> .K - [priority(20), label(BASIC-BLOCK-7-TO-13)] - - rule [BASIC-BLOCK-9-TO-16]: - - - ( #next [ STATICCALL ] ~> .K => #checkBalanceUnderflow NCL:Int 0 - ~> #checkDepthExceeded - ~> #call NCL:Int C_ARITHMETICCONTRACT_ID:Int C_ARITHMETICCONTRACT_ID:Int 0 0 b"w\x16\x02\xf7" +Bytes #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) true - ~> #return 128 32 - ~> #pc [ STATICCALL ] ) - ~> #endPrank - ~> #execute - ~> _CONTINUATION:K - - - NORMAL - - - CANCUN - - - false - - - - - - NCL:Int - - - CALLER_ID:Int - - - b"\x9c&\xe07" +Bytes #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) +Bytes #buf ( 32 , KV2_z:Int ) - - - 0 - - - ( ( 0 => 196 ) : ( ( C_ARITHMETICCONTRACT_ID:Int => 1997931255 ) : ( ( 128 => C_ARITHMETICCONTRACT_ID:Int ) : ( ( 68 => 0 ) : ( ( 128 => 0 ) : ( ( 32 => KV2_z:Int ) : ( ( 196 => KV1_y:Int ) : ( ( 1997931255 => KV0_x:Int ) : ( ( C_ARITHMETICCONTRACT_ID:Int => 111 ) : ( ( 0 => 2619793463 ) : ( ( 0 : ( KV2_z:Int : ( KV1_y:Int : ( KV0_x:Int : ( 111 : ( 2619793463 : .WordStack ) ) ) ) ) ) => .WordStack ) ) ) ) ) ) ) ) ) ) ) - - - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00w\x16\x02\xf7" +Bytes #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) - - - 0 - - - 0 - - - DEPTH_CELL:Int - - ... - - - - 0 - - - ( ACCESSEDACCOUNTS_CELL:Set => ACCESSEDACCOUNTS_CELL:Set |Set SetItem ( C_ARITHMETICCONTRACT_ID:Int ) ) - - ... - - - NOG:Int - - - - NUMBER_CELL:Int - - - TIMESTAMP_CELL:Int - - ... - - ... - - - - 1 - - - ( - - C_ARITHMETICCONTRACT_ID:Int - - - C_ARITHMETICCONTRACT_BAL:Int - - - C_ARITHMETICCONTRACT_NONCE:Int - - ... - - ACCOUNTS_REST:AccountCellMap ) - - ... - - - ... - - - true - - - - - NCL:Int - - - NOG:Int - - - true - - - DEPTH_CELL:Int - - ... - - - - ISREVERTEXPECTED_CELL:Bool - - - EXPECTEDDEPTH_CELL:Int - - ... - - - - false - - ... - - - - false - - - .List - - - false - - - .List - - - - .MockCallCellMap - - - .MockFunctionCellMap - - ... - - - - false - - - false - - - false - - - false - - - false - - - .List - - - - requires ( _ACTIVE_CELL:Bool - andBool ( _CALLDEPTH_CELL:Int ==Int DEPTH_CELL:Int - andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _NEWORIGIN_CELL:Account ==K NOG:Int - andBool ( 0 <=Int KV0_x:Int - andBool ( 0 <=Int KV1_y:Int - andBool ( 0 <=Int KV2_z:Int - andBool ( 0 <=Int CALLER_ID:Int - andBool ( 0 <=Int ORIGIN_ID:Int - andBool ( pow24 - C_ARITHMETICCONTRACT_ID:Int - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) - andBool ( ( notBool #range ( 0 < CALLER_ID:Int <= 10 ) ) - andBool ( ( notBool #range ( 0 < ORIGIN_ID:Int <= 10 ) ) - andBool ( ( notBool #range ( 0 < C_ARITHMETICCONTRACT_ID:Int <= 10 ) ) - andBool ( ( notBool ( DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ISREVERTEXPECTED_CELL:Bool ) ) - ))))))))))))))))))))))))))))))))) - [priority(20), label(BASIC-BLOCK-9-TO-16)] - - rule [BASIC-BLOCK-10-TO-17]: - - - ( #next [ STATICCALL ] ~> .K => #checkBalanceUnderflow NCL:Int 0 - ~> #checkDepthExceeded - ~> #call NCL:Int C_ARITHMETICCONTRACT_ID:Int C_ARITHMETICCONTRACT_ID:Int 0 0 b"w\x16\x02\xf7" +Bytes #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) true - ~> #return 128 32 - ~> #pc [ STATICCALL ] ) - ~> #endPrank - ~> #execute - ~> _CONTINUATION:K - - - NORMAL - - - CANCUN - - - false - - - - - - NCL:Int - - - CALLER_ID:Int - - - b"\x9c&\xe07" +Bytes #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) +Bytes #buf ( 32 , KV2_z:Int ) - - - 0 - - - ( ( 0 => 196 ) : ( ( C_ARITHMETICCONTRACT_ID:Int => 1997931255 ) : ( ( 128 => C_ARITHMETICCONTRACT_ID:Int ) : ( ( 68 => 0 ) : ( ( 128 => 0 ) : ( ( 32 => KV2_z:Int ) : ( ( 196 => KV1_y:Int ) : ( ( 1997931255 => KV0_x:Int ) : ( ( C_ARITHMETICCONTRACT_ID:Int => 111 ) : ( ( 0 => 2619793463 ) : ( ( 0 : ( KV2_z:Int : ( KV1_y:Int : ( KV0_x:Int : ( 111 : ( 2619793463 : .WordStack ) ) ) ) ) ) => .WordStack ) ) ) ) ) ) ) ) ) ) ) - - - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00w\x16\x02\xf7" +Bytes #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) - - - 0 - - - 0 - - - DEPTH_CELL:Int - - ... - - - - 0 - - - ( ACCESSEDACCOUNTS_CELL:Set => ACCESSEDACCOUNTS_CELL:Set |Set SetItem ( C_ARITHMETICCONTRACT_ID:Int ) ) - - ... - - - ORIGIN_ID:Int - - - - NUMBER_CELL:Int - - - TIMESTAMP_CELL:Int - - ... - - ... - - - - 1 - - - ( - - C_ARITHMETICCONTRACT_ID:Int - - - C_ARITHMETICCONTRACT_BAL:Int - - - C_ARITHMETICCONTRACT_NONCE:Int - - ... - - ACCOUNTS_REST:AccountCellMap ) - - ... - - - ... - - - true - - - - - NCL:Int - - - .Account - - - true - - - DEPTH_CELL:Int - - ... - - - - ISREVERTEXPECTED_CELL:Bool - - - EXPECTEDDEPTH_CELL:Int - - ... - - - - false - - ... - - - - false - - - .List - - - false - - - .List - - - - .MockCallCellMap - - - .MockFunctionCellMap - - ... - - - - false - - - false - - - false - - - false - - - false - - - .List - - - - requires ( _ACTIVE_CELL:Bool - andBool ( _CALLDEPTH_CELL:Int ==Int DEPTH_CELL:Int - andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _NEWORIGIN_CELL:Account ==K .Account - andBool ( 0 <=Int KV0_x:Int - andBool ( 0 <=Int KV1_y:Int - andBool ( 0 <=Int KV2_z:Int - andBool ( 0 <=Int CALLER_ID:Int - andBool ( 0 <=Int ORIGIN_ID:Int - andBool ( pow24 - C_ARITHMETICCONTRACT_ID:Int - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) - andBool ( ( notBool #range ( 0 < CALLER_ID:Int <= 10 ) ) - andBool ( ( notBool #range ( 0 < ORIGIN_ID:Int <= 10 ) ) - andBool ( ( notBool #range ( 0 < C_ARITHMETICCONTRACT_ID:Int <= 10 ) ) - andBool ( ( notBool ( DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ISREVERTEXPECTED_CELL:Bool ) ) - ))))))))))))))))))))))))))))))))) - [priority(20), label(BASIC-BLOCK-10-TO-17)] - - rule [BASIC-BLOCK-14-TO-25]: - - - ( #next [ STATICCALL ] ~> .K => #injectPrank - ~> #next [ STATICCALL ] - ~> #endPrank ) - ~> #checkRevert - ~> #updateRevertOutput 128 32 - ~> #execute - ~> _CONTINUATION:K - - - NORMAL - - - CANCUN - - - false - - - - - - C_ARITHMETICCONTRACT_ID:Int - - - CALLER_ID:Int - - - b"\x9c&\xe07" +Bytes #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) +Bytes #buf ( 32 , KV2_z:Int ) - - - 0 - - - ( 0 : ( C_ARITHMETICCONTRACT_ID:Int : ( 128 : ( 68 : ( 128 : ( 32 : ( 196 : ( 1997931255 : ( C_ARITHMETICCONTRACT_ID:Int : ( 0 : ( 0 : ( KV2_z:Int : ( KV1_y:Int : ( KV0_x:Int : ( 111 : ( 2619793463 : .WordStack ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) - - - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00w\x16\x02\xf7" +Bytes #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) - - - 0 - - - 0 - - - EXPECTEDDEPTH_CELL:Int - - ... - - - - 0 - - ... - - - ORIGIN_ID:Int - - - - NUMBER_CELL:Int - - - TIMESTAMP_CELL:Int - - ... - - ... - - - - 1 - - - ( - - C_ARITHMETICCONTRACT_ID:Int - - - C_ARITHMETICCONTRACT_BAL:Int - - - C_ARITHMETICCONTRACT_NONCE:Int - - ... - - ACCOUNTS_REST:AccountCellMap ) - - ... - - - ... - - - true - - - - - NEWCALLER_CELL:Account - - - ( ACTIVE_CELL:Bool => true ) - - - ( DEPTH_CELL:Int => EXPECTEDDEPTH_CELL:Int ) - - ... - - - - true - - - EXPECTEDDEPTH_CELL:Int - - ... - - - - false - - ... - - - - false - - - .List - - - false - - - .List - - - - .MockCallCellMap - - - .MockFunctionCellMap - - ... - - - - false - - - false - - - false - - - false - - - false - - - .List - - - - requires ( ACTIVE_CELL:Bool - andBool ( _ISREVERTEXPECTED_CELL:Bool - andBool ( DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( 0 <=Int KV0_x:Int - andBool ( 0 <=Int KV1_y:Int - andBool ( 0 <=Int KV2_z:Int - andBool ( 0 <=Int CALLER_ID:Int - andBool ( 0 <=Int ORIGIN_ID:Int - andBool ( pow24 - C_ARITHMETICCONTRACT_ID:Int - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) - andBool ( ( notBool #range ( 0 < CALLER_ID:Int <= 10 ) ) - andBool ( ( notBool #range ( 0 < ORIGIN_ID:Int <= 10 ) ) - andBool ( ( notBool #range ( 0 < C_ARITHMETICCONTRACT_ID:Int <= 10 ) ) - )))))))))))))))))))))))))))))))) - ensures NEWCALLER_CELL:Account ~> .K =/=K C_ARITHMETICCONTRACT_ID:Int ~> .K - [priority(20), label(BASIC-BLOCK-14-TO-25)] - - rule [BASIC-BLOCK-18-TO-34]: - - - ( #next [ STATICCALL ] ~> .K => #checkBalanceUnderflow NCL:Int 0 - ~> #checkDepthExceeded - ~> #call NCL:Int C_ARITHMETICCONTRACT_ID:Int C_ARITHMETICCONTRACT_ID:Int 0 0 b"w\x16\x02\xf7" +Bytes #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) true - ~> #return 128 32 - ~> #pc [ STATICCALL ] ) - ~> #endPrank - ~> #execute - ~> _CONTINUATION:K - - - NORMAL - - - CANCUN - - - false - - - - - - NCL:Int - - - CALLER_ID:Int - - - b"\x9c&\xe07" +Bytes #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) +Bytes #buf ( 32 , KV2_z:Int ) - - - 0 - - - ( ( 0 => 196 ) : ( ( C_ARITHMETICCONTRACT_ID:Int => 1997931255 ) : ( ( 128 => C_ARITHMETICCONTRACT_ID:Int ) : ( ( 68 => 0 ) : ( ( 128 => 0 ) : ( ( 32 => KV2_z:Int ) : ( ( 196 => KV1_y:Int ) : ( ( 1997931255 => KV0_x:Int ) : ( ( C_ARITHMETICCONTRACT_ID:Int => 111 ) : ( ( 0 => 2619793463 ) : ( ( 0 : ( KV2_z:Int : ( KV1_y:Int : ( KV0_x:Int : ( 111 : ( 2619793463 : .WordStack ) ) ) ) ) ) => .WordStack ) ) ) ) ) ) ) ) ) ) ) - - - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00w\x16\x02\xf7" +Bytes #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) - - - 0 - - - 0 - - - DEPTH_CELL:Int - - ... - - - - 0 - - - ( ACCESSEDACCOUNTS_CELL:Set => ACCESSEDACCOUNTS_CELL:Set |Set SetItem ( C_ARITHMETICCONTRACT_ID:Int ) ) - - ... - - - NOG0:Int - - - - NUMBER_CELL:Int - - - TIMESTAMP_CELL:Int - - ... - - ... - - - - 1 - - - ( - - C_ARITHMETICCONTRACT_ID:Int - - - C_ARITHMETICCONTRACT_BAL:Int - - - C_ARITHMETICCONTRACT_NONCE:Int - - ... - - ACCOUNTS_REST:AccountCellMap ) - - ... - - - ... - - - true - - - - - NCL:Int - - - NOG0:Int - - - true - - - DEPTH_CELL:Int - - ... - - - - ISREVERTEXPECTED_CELL:Bool - - - EXPECTEDDEPTH_CELL:Int - - ... - - - - false - - ... - - - - false - - - .List - - - false - - - .List - - - - .MockCallCellMap - - - .MockFunctionCellMap - - ... - - - - false - - - false - - - false - - - false - - - false - - - .List - - - - requires ( _ACTIVE_CELL:Bool - andBool ( _CALLDEPTH_CELL:Int ==Int DEPTH_CELL:Int - andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _NEWORIGIN_CELL:Account ==K NOG0:Int - andBool ( 0 <=Int KV0_x:Int - andBool ( 0 <=Int KV1_y:Int - andBool ( 0 <=Int KV2_z:Int - andBool ( 0 <=Int CALLER_ID:Int - andBool ( 0 <=Int ORIGIN_ID:Int - andBool ( pow24 - C_ARITHMETICCONTRACT_ID:Int - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) - andBool ( ( notBool #range ( 0 < CALLER_ID:Int <= 10 ) ) - andBool ( ( notBool #range ( 0 < ORIGIN_ID:Int <= 10 ) ) - andBool ( ( notBool #range ( 0 < C_ARITHMETICCONTRACT_ID:Int <= 10 ) ) - andBool ( ( notBool ( DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ISREVERTEXPECTED_CELL:Bool ) ) - )))))))))))))))))))))))))))))))))) - [priority(20), label(BASIC-BLOCK-18-TO-34)] + │ src: test/nested/SimpleNested.t.sol:7:11 + │ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) + │ + │ (844 steps) + ├─ 15 (terminal) + │ k: #halt ~> CONTINUATION:K + │ pc: 550 + │ callDepth: CALLDEPTH_CELL:Int + │ statusCode: EVMC_REVERT + │ src: lib/forge-std/src/StdInvariant.sol:90:90 + │ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) + │ + ┊ constraint: + ┊ ( notBool + C_ARITHMETICCONTRACT_ID:Int + in_keys ( ACCOUNTS_REST:AccountCellMap ) ) + ┊ subst: ... + └─ 2 (leaf, target, terminal) + k: #halt ~> CONTINUATION:K + pc: PC_CELL_5d410f2a:Int + callDepth: CALLDEPTH_CELL_5d410f2a:Int + statusCode: STATUSCODE_FINAL:StatusCode + + + + +module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256):0 - rule [BASIC-BLOCK-22-TO-39]: + + rule [BASIC-BLOCK-17-TO-7]: - ( #next [ STATICCALL ] ~> .K => #checkBalanceUnderflow NCL:Int 0 - ~> #checkDepthExceeded - ~> #call NCL:Int C_ARITHMETICCONTRACT_ID:Int C_ARITHMETICCONTRACT_ID:Int 0 0 b"w\x16\x02\xf7" +Bytes #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) true - ~> #return 128 32 - ~> #pc [ STATICCALL ] ) - ~> #endPrank - ~> #checkRevert - ~> #updateRevertOutput 128 32 - ~> #execute + ( #execute => #halt ) ~> _CONTINUATION:K @@ -1721,9 +164,15 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): + + ( _OUTPUT_CELL:Bytes => b"" ) + + + ( _STATUSCODE:StatusCode => EVMC_REVERT ) + - NCL:Int + C_ARITHMETICCONTRACT_ID:Int CALLER_ID:Int @@ -1735,10 +184,10 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): 0 - ( ( 0 => 196 ) : ( ( C_ARITHMETICCONTRACT_ID:Int => 1997931255 ) : ( ( 128 => C_ARITHMETICCONTRACT_ID:Int ) : ( ( 68 => 0 ) : ( ( 128 => 0 ) : ( ( 32 => KV2_z:Int ) : ( ( 196 => KV1_y:Int ) : ( ( 1997931255 => KV0_x:Int ) : ( ( C_ARITHMETICCONTRACT_ID:Int => 111 ) : ( ( 0 => 2619793463 ) : ( ( 0 : ( KV2_z:Int : ( KV1_y:Int : ( KV0_x:Int : ( 111 : ( 2619793463 : .WordStack ) ) ) ) ) ) => .WordStack ) ) ) ) ) ) ) ) ) ) ) + ( .WordStack => ( 1 : ( 196 : ( 1997931255 : ( C_ARITHMETICCONTRACT_ID:Int : ( 0 : ( 0 : ( KV2_z:Int : ( KV1_y:Int : ( KV0_x:Int : ( 111 : ( 2619793463 : .WordStack ) ) ) ) ) ) ) ) ) ) ) ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00w\x16\x02\xf7" +Bytes #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) + ( b"" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00w\x16\x02\xf7" +Bytes #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) ) 0 @@ -1747,7 +196,7 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): 0 - EXPECTEDDEPTH_CELL:Int + CALLDEPTH_CELL:Int ... @@ -1761,7 +210,7 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): ... - NOG:Int + ORIGIN_ID:Int @@ -1803,27 +252,15 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): - - NCL:Int - - - NOG:Int - - true + false - - EXPECTEDDEPTH_CELL:Int - ... - true + false - - EXPECTEDDEPTH_CELL:Int - ... @@ -1875,17 +312,12 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): - requires ( _ACTIVE_CELL:Bool - andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _NEWORIGIN_CELL:Account ==K NOG:Int - andBool ( _ISREVERTEXPECTED_CELL:Bool - andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( 0 <=Int KV0_x:Int + requires ( 0 <=Int KV0_x:Int andBool ( 0 <=Int KV1_y:Int andBool ( 0 <=Int KV2_z:Int andBool ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int + andBool ( 1024 <=Int CALLDEPTH_CELL:Int andBool ( pow24 C_ARITHMETICCONTRACT_ID:Int in_keys ( ACCOUNTS_REST:AccountCellMap ) ) andBool ( ( notBool #range ( 0 < CALLER_ID:Int <= 10 ) ) andBool ( ( notBool #range ( 0 < ORIGIN_ID:Int <= 10 ) ) andBool ( ( notBool #range ( 0 < C_ARITHMETICCONTRACT_ID:Int <= 10 ) ) - )))))))))))))))))))))))))))))))))) - [priority(20), label(BASIC-BLOCK-22-TO-39)] + )))))))))))))))))))))))))))) + [priority(20), label(BASIC-BLOCK-17-TO-7)] - rule [BASIC-BLOCK-23-TO-40]: + rule [BASIC-BLOCK-23-TO-11]: - ( #next [ STATICCALL ] ~> .K => #checkBalanceUnderflow NCL:Int 0 - ~> #checkDepthExceeded - ~> #call NCL:Int C_ARITHMETICCONTRACT_ID:Int C_ARITHMETICCONTRACT_ID:Int 0 0 b"w\x16\x02\xf7" +Bytes #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) true - ~> #return 128 32 - ~> #pc [ STATICCALL ] ) - ~> #endPrank - ~> #checkRevert - ~> #updateRevertOutput 128 32 - ~> #execute + ( #execute => #halt ) ~> _CONTINUATION:K @@ -1939,9 +362,18 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): + + ( _OUTPUT_CELL:Bytes => b"NH{q\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11" ) + + + ( _STATUSCODE:StatusCode => EVMC_REVERT ) + + + ( TOUCHEDACCOUNTS_CELL:Set => TOUCHEDACCOUNTS_CELL:Set |Set SetItem ( C_ARITHMETICCONTRACT_ID:Int ) ) + - NCL:Int + C_ARITHMETICCONTRACT_ID:Int CALLER_ID:Int @@ -1953,10 +385,10 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): 0 - ( ( 0 => 196 ) : ( ( C_ARITHMETICCONTRACT_ID:Int => 1997931255 ) : ( ( 128 => C_ARITHMETICCONTRACT_ID:Int ) : ( ( 68 => 0 ) : ( ( 128 => 0 ) : ( ( 32 => KV2_z:Int ) : ( ( 196 => KV1_y:Int ) : ( ( 1997931255 => KV0_x:Int ) : ( ( C_ARITHMETICCONTRACT_ID:Int => 111 ) : ( ( 0 => 2619793463 ) : ( ( 0 : ( KV2_z:Int : ( KV1_y:Int : ( KV0_x:Int : ( 111 : ( 2619793463 : .WordStack ) ) ) ) ) ) => .WordStack ) ) ) ) ) ) ) ) ) ) ) + ( .WordStack => ( 1 : ( 196 : ( 1997931255 : ( C_ARITHMETICCONTRACT_ID:Int : ( 0 : ( 0 : ( KV2_z:Int : ( KV1_y:Int : ( KV0_x:Int : ( 111 : ( 2619793463 : .WordStack ) ) ) ) ) ) ) ) ) ) ) ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00w\x16\x02\xf7" +Bytes #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) + ( b"" => b"NH{q\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00NH{q\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #range ( #buf ( 32 , KV0_x:Int ) , 28 , 4 ) +Bytes #buf ( 32 , KV1_y:Int ) ) 0 @@ -1965,7 +397,7 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): 0 - EXPECTEDDEPTH_CELL:Int + CALLDEPTH_CELL:Int ... @@ -2021,27 +453,15 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): - - NCL:Int - - - .Account - - true + false - - EXPECTEDDEPTH_CELL:Int - ... - true + false - - EXPECTEDDEPTH_CELL:Int - ... @@ -2093,17 +513,12 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): - requires ( _ACTIVE_CELL:Bool - andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _ISREVERTEXPECTED_CELL:Bool - andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( _NEWORIGIN_CELL:Account ==K .Account - andBool ( 0 <=Int KV0_x:Int + requires ( 0 <=Int KV0_x:Int andBool ( 0 <=Int KV1_y:Int andBool ( 0 <=Int KV2_z:Int andBool ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int + andBool ( CALLDEPTH_CELL:Int - C_ARITHMETICCONTRACT_ID:Int - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) - andBool ( ( notBool #range ( 0 < CALLER_ID:Int <= 10 ) ) - andBool ( ( notBool #range ( 0 < ORIGIN_ID:Int <= 10 ) ) - andBool ( ( notBool #range ( 0 < C_ARITHMETICCONTRACT_ID:Int <= 10 ) ) - )))))))))))))))))))))))))))))))))) - [priority(20), label(BASIC-BLOCK-23-TO-40)] - - rule [BASIC-BLOCK-26-TO-46]: - - - ( #next [ STATICCALL ] ~> .K => #injectPrank - ~> #next [ STATICCALL ] - ~> #endPrank ) - ~> #checkRevert - ~> #updateRevertOutput 128 32 - ~> #execute - ~> _CONTINUATION:K - - - NORMAL - - - CANCUN - - - false - - - - - - C_ARITHMETICCONTRACT_ID:Int - - - CALLER_ID:Int - - - b"\x9c&\xe07" +Bytes #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) +Bytes #buf ( 32 , KV2_z:Int ) - - - 0 - - - ( 0 : ( C_ARITHMETICCONTRACT_ID:Int : ( 128 : ( 68 : ( 128 : ( 32 : ( 196 : ( 1997931255 : ( C_ARITHMETICCONTRACT_ID:Int : ( 0 : ( 0 : ( KV2_z:Int : ( KV1_y:Int : ( KV0_x:Int : ( 111 : ( 2619793463 : .WordStack ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) - - - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00w\x16\x02\xf7" +Bytes #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) - - - 0 - - - 0 - - - EXPECTEDDEPTH_CELL:Int - - ... - - - - 0 - - ... - - - ORIGIN_ID:Int - - - - NUMBER_CELL:Int - - - TIMESTAMP_CELL:Int - - ... - - ... - - - - 1 - - - ( - - C_ARITHMETICCONTRACT_ID:Int - - - C_ARITHMETICCONTRACT_BAL:Int - - - C_ARITHMETICCONTRACT_NONCE:Int - - ... - - ACCOUNTS_REST:AccountCellMap ) - - ... - - - ... - - - true - - - - - NEWCALLER_CELL:Account - - - ( ACTIVE_CELL:Bool => true ) - - - ( DEPTH_CELL:Int => EXPECTEDDEPTH_CELL:Int ) - - ... - - - - true - - - EXPECTEDDEPTH_CELL:Int - - ... - - - - false - - ... - - - - false - - - .List - - - false - - - .List - - - - .MockCallCellMap - - - .MockFunctionCellMap - - ... - - - - false - - - false - - - false - - - false - - - false - - - .List - - - - requires ( ACTIVE_CELL:Bool - andBool ( _ISREVERTEXPECTED_CELL:Bool - andBool ( DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( 0 <=Int KV0_x:Int - andBool ( 0 <=Int KV1_y:Int - andBool ( 0 <=Int KV2_z:Int - andBool ( 0 <=Int CALLER_ID:Int - andBool ( 0 <=Int ORIGIN_ID:Int - andBool ( pow24 C_ARITHMETICCONTRACT_ID:Int in_keys ( ACCOUNTS_REST:AccountCellMap ) ) + andBool ( ( maxUInt256 -Int KV1_y:Int ) .K =/=K C_ARITHMETICCONTRACT_ID:Int ~> .K - [priority(20), label(BASIC-BLOCK-26-TO-46)] + ))))))))))))))))))))))))))))) + [priority(20), label(BASIC-BLOCK-23-TO-11)] - rule [BASIC-BLOCK-49-TO-37]: + rule [BASIC-BLOCK-26-TO-14]: - ( #addr [ STATICCALL ] - ~> #exec [ STATICCALL ] => #execute - ~> #return 128 32 ) - ~> #pc [ STATICCALL ] - ~> #execute + ( #execute => #halt ) ~> _CONTINUATION:K @@ -2362,88 +565,11 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): - ( _OUTPUT_CELL:Bytes => b"" ) + ( _OUTPUT_CELL:Bytes => #buf ( 32 , ( ( KV0_x:Int +Int KV1_y:Int ) -Int KV2_z:Int ) ) ) - - ( CALLSTACK_CELL:List => ListItem ( - - C_ARITHMETICCONTRACT_ID:Int - - - CALLER_ID:Int - - - b"\x9c&\xe07" +Bytes #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) +Bytes #buf ( 32 , KV2_z:Int ) - - - 0 - - - ( 196 : ( 1997931255 : ( C_ARITHMETICCONTRACT_ID:Int : ( 0 : ( 0 : ( KV2_z:Int : ( KV1_y:Int : ( KV0_x:Int : ( 111 : ( 2619793463 : .WordStack ) ) ) ) ) ) ) ) ) ) - - - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00w\x16\x02\xf7" +Bytes #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) - - - 0 - - - 0 - - - STATIC_CELL:Bool - - - CALLDEPTH_CELL:Int - - ... - ) CALLSTACK_CELL:List ) - - - ( INTERIMSTATES_CELL:List => ListItem ( { - ( - - C_ARITHMETICCONTRACT_ID:Int - - - C_ARITHMETICCONTRACT_BAL:Int - - - C_ARITHMETICCONTRACT_STORAGE:Map - - - C_ARITHMETICCONTRACT_ORIGSTORAGE:Map - - - C_ARITHMETICCONTRACT_TRANSIENTSTORAGE:Map - - - C_ARITHMETICCONTRACT_NONCE:Int - - ... - - ACCOUNTS_REST:AccountCellMap ) - | - - SELFDESTRUCT_CELL:Set - - - LOG_CELL:List - - - 0 - - - ACCESSEDACCOUNTS_CELL:Set |Set SetItem ( C_ARITHMETICCONTRACT_ID:Int ) - - - ACCESSEDSTORAGE_CELL:Map - - - CREATEDACCOUNTS_CELL:Set - - } ) INTERIMSTATES_CELL:List ) - + + ( _STATUSCODE:StatusCode => EVMC_SUCCESS ) + ( TOUCHEDACCOUNTS_CELL:Set => TOUCHEDACCOUNTS_CELL:Set |Set SetItem ( C_ARITHMETICCONTRACT_ID:Int ) ) @@ -2452,19 +578,19 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): C_ARITHMETICCONTRACT_ID:Int - ( CALLER_ID:Int => C_ARITHMETICCONTRACT_ID:Int ) + CALLER_ID:Int - ( b"\x9c&\xe07" => b"w\x16\x02\xf7" ) +Bytes #buf ( 32 , KV0_x:Int ) +Bytes ( #buf ( 32 , KV1_y:Int ) +Bytes #buf ( 32 , KV2_z:Int ) => #buf ( 32 , KV1_y:Int ) ) + b"\x9c&\xe07" +Bytes #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) +Bytes #buf ( 32 , KV2_z:Int ) 0 - ( ( 0 : ( C_ARITHMETICCONTRACT_ID:Int : ( 128 : ( 68 : ( 128 : ( 32 : ( 196 : ( 1997931255 : ( C_ARITHMETICCONTRACT_ID:Int : ( 0 : ( 0 : ( KV2_z:Int : ( KV1_y:Int : ( KV0_x:Int : ( 111 : ( 2619793463 : .WordStack ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) => .WordStack ) + ( .WordStack => ( 2619793463 : .WordStack ) ) - ( b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00w\x16\x02\xf7" +Bytes #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) => b"" ) + ( b"" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #buf ( 32 , ( KV0_x:Int +Int KV1_y:Int ) ) +Bytes #buf ( 32 , ( ( KV0_x:Int +Int KV1_y:Int ) -Int KV2_z:Int ) ) +Bytes #range ( #buf ( 32 , KV1_y:Int ) , 28 , 4 ) ) 0 @@ -2472,33 +598,19 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): 0 - - ( STATIC_CELL:Bool => true ) - - ( CALLDEPTH_CELL:Int => ( CALLDEPTH_CELL:Int +Int 1 ) ) + CALLDEPTH_CELL:Int ... - - SELFDESTRUCT_CELL:Set - - - LOG_CELL:List - 0 ( ACCESSEDACCOUNTS_CELL:Set => ACCESSEDACCOUNTS_CELL:Set |Set SetItem ( C_ARITHMETICCONTRACT_ID:Int ) ) - - ACCESSEDSTORAGE_CELL:Map - - - CREATEDACCOUNTS_CELL:Set - + ... ORIGIN_ID:Int @@ -2526,15 +638,6 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): C_ARITHMETICCONTRACT_BAL:Int - - C_ARITHMETICCONTRACT_STORAGE:Map - - - C_ARITHMETICCONTRACT_ORIGSTORAGE:Map - - - C_ARITHMETICCONTRACT_TRANSIENTSTORAGE:Map - C_ARITHMETICCONTRACT_NONCE:Int @@ -2552,24 +655,15 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): - - NEWCALLER_CELL:Account - - ACTIVE_CELL:Bool + false - - DEPTH_CELL:Int - ... - ISREVERTEXPECTED_CELL:Bool + false - - EXPECTEDDEPTH_CELL:Int - ... @@ -2634,7 +728,10 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): andBool ( TIMESTAMP_CELL:Int C_ARITHMETICCONTRACT_ID:Int in_keys ( ACCOUNTS_REST:AccountCellMap ) ) + andBool ( KV0_x:Int <=Int ( maxUInt256 -Int KV1_y:Int ) andBool ( ( notBool #range ( 0 < CALLER_ID:Int <= 10 ) ) andBool ( ( notBool #range ( 0 < ORIGIN_ID:Int <= 10 ) ) andBool ( ( notBool #range ( 0 < C_ARITHMETICCONTRACT_ID:Int <= 10 ) ) - andBool ( ( notBool ( CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ISREVERTEXPECTED_CELL:Bool ) ) - andBool ( ( notBool ( ACTIVE_CELL:Bool andBool ( CALLDEPTH_CELL:Int ==Int DEPTH_CELL:Int andBool NEWCALLER_CELL:Account =/=K C_ARITHMETICCONTRACT_ID:Int ) ) ) )))))))))))))))))))))))))))))) - [priority(20), label(BASIC-BLOCK-49-TO-37)] + [priority(20), label(BASIC-BLOCK-26-TO-14)] - rule [BASIC-BLOCK-50-TO-38]: + rule [BASIC-BLOCK-27-TO-15]: - ( #addr [ STATICCALL ] - ~> #exec [ STATICCALL ] - ~> #pc [ STATICCALL ] - ~> #execute => #halt ~> .K ) + ( #execute => #halt ) ~> _CONTINUATION:K @@ -2677,11 +768,14 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): - ( _OUTPUT_CELL:Bytes => b"" ) + ( _OUTPUT_CELL:Bytes => b"NH{q\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11" ) ( _STATUSCODE:StatusCode => EVMC_REVERT ) + + ( TOUCHEDACCOUNTS_CELL:Set => TOUCHEDACCOUNTS_CELL:Set |Set SetItem ( C_ARITHMETICCONTRACT_ID:Int ) ) + C_ARITHMETICCONTRACT_ID:Int @@ -2696,10 +790,10 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): 0 - ( ( 0 => 1 ) : ( ( C_ARITHMETICCONTRACT_ID:Int => 196 ) : ( ( 128 => 1997931255 ) : ( ( 68 => C_ARITHMETICCONTRACT_ID:Int ) : ( ( 128 => 0 ) : ( ( 32 => 0 ) : ( ( 196 => KV2_z:Int ) : ( ( 1997931255 => KV1_y:Int ) : ( ( C_ARITHMETICCONTRACT_ID:Int => KV0_x:Int ) : ( ( 0 => 111 ) : ( ( 0 => 2619793463 ) : ( ( KV2_z:Int : ( KV1_y:Int : ( KV0_x:Int : ( 111 : ( 2619793463 : .WordStack ) ) ) ) ) => .WordStack ) ) ) ) ) ) ) ) ) ) ) ) + ( .WordStack => ( 618 : ( 0 : ( ( KV0_x:Int +Int KV1_y:Int ) : ( KV2_z:Int : ( 344 : ( ( KV0_x:Int +Int KV1_y:Int ) : ( 0 : ( KV2_z:Int : ( KV1_y:Int : ( KV0_x:Int : ( 111 : ( 2619793463 : .WordStack ) ) ) ) ) ) ) ) ) ) ) ) ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00w\x16\x02\xf7" +Bytes #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) + ( b"" => b"NH{q\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #buf ( 32 , ( KV0_x:Int +Int KV1_y:Int ) ) +Bytes #range ( #buf ( 32 , KV0_x:Int ) , 28 , 4 ) +Bytes #buf ( 32 , KV1_y:Int ) ) 0 @@ -2764,24 +858,15 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): - - NEWCALLER_CELL:Account - - ACTIVE_CELL:Bool + false - - DEPTH_CELL:Int - ... - ISREVERTEXPECTED_CELL:Bool + false - - EXPECTEDDEPTH_CELL:Int - ... @@ -2838,7 +923,7 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): andBool ( 0 <=Int KV2_z:Int andBool ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int - andBool ( 1024 <=Int CALLDEPTH_CELL:Int + andBool ( CALLDEPTH_CELL:Int C_ARITHMETICCONTRACT_ID:Int in_keys ( ACCOUNTS_REST:AccountCellMap ) ) + andBool ( KV0_x:Int <=Int ( maxUInt256 -Int KV1_y:Int ) andBool ( ( notBool #range ( 0 < CALLER_ID:Int <= 10 ) ) andBool ( ( notBool #range ( 0 < ORIGIN_ID:Int <= 10 ) ) andBool ( ( notBool #range ( 0 < C_ARITHMETICCONTRACT_ID:Int <= 10 ) ) - andBool ( ( notBool ( CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ISREVERTEXPECTED_CELL:Bool ) ) - andBool ( ( notBool ( ACTIVE_CELL:Bool andBool ( CALLDEPTH_CELL:Int ==Int DEPTH_CELL:Int andBool NEWCALLER_CELL:Account =/=K C_ARITHMETICCONTRACT_ID:Int ) ) ) )))))))))))))))))))))))))))))) - [priority(20), label(BASIC-BLOCK-50-TO-38)] + [priority(20), label(BASIC-BLOCK-27-TO-15)] endmodule \ No newline at end of file diff --git a/src/tests/integration/test-data/show/CSETest.test_identity(uint256,uint256).cse.expected b/src/tests/integration/test-data/show/CSETest.test_identity(uint256,uint256).cse.expected index 09388b954..52e2e602e 100644 --- a/src/tests/integration/test-data/show/CSETest.test_identity(uint256,uint256).cse.expected +++ b/src/tests/integration/test-data/show/CSETest.test_identity(uint256,uint256).cse.expected @@ -46,7 +46,7 @@ │ statusCode: STATUSCODE:StatusCode │ method: test%CSETest.test_identity(uint256,uint256) │ - │ (1943 steps) + │ (1937 steps) ├─ 13 (terminal) │ k: #halt ~> CONTINUATION:K │ pc: 221 diff --git a/src/tests/integration/test-data/show/CallableStorageContract.str().cse.expected b/src/tests/integration/test-data/show/CallableStorageContract.str().cse.expected index 98a77018e..6330b2417 100644 --- a/src/tests/integration/test-data/show/CallableStorageContract.str().cse.expected +++ b/src/tests/integration/test-data/show/CallableStorageContract.str().cse.expected @@ -182,6 +182,18 @@ module SUMMARY-TEST%CALLABLESTORAGECONTRACT.STR():0 true + + + false + + ... + + + + false + + ... + false @@ -280,7 +292,7 @@ module SUMMARY-TEST%CALLABLESTORAGECONTRACT.STR():0 - ( _OUTPUT_CELL:Bytes => #range ( b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 " +Bytes #buf ( 32 , C_CALLABLESTORAGECONTRACT_STR_S_LENGTH:Int ) +Bytes #range ( C_CALLABLESTORAGECONTRACT_STR_S_CONTENTS:Bytes , 0 , C_CALLABLESTORAGECONTRACT_STR_S_LENGTH:Int ) +Bytes b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" , 0 , chop ( ( ( chop ( ( ( ( notMaxUInt5 &Int ( C_CALLABLESTORAGECONTRACT_STR_S_LENGTH:Int +Int maxUInt5 ) ) +Int ( 32 *Int ( ( C_CALLABLESTORAGECONTRACT_STR_S_LENGTH:Int +Int maxUInt5 ) /Int 32 ) ) ) +Int 224 ) ) -Int ( 32 *Int ( ( C_CALLABLESTORAGECONTRACT_STR_S_LENGTH:Int +Int maxUInt5 ) /Int 32 ) ) ) +Int -160 ) ) ) ) + ( _OUTPUT_CELL:Bytes => #range ( b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 " +Bytes #buf ( 32 , C_CALLABLESTORAGECONTRACT_STR_S_LENGTH:Int ) +Bytes #range ( C_CALLABLESTORAGECONTRACT_STR_S_CONTENTS:Bytes , 0 , ( ( ( 32 *Int ( ( C_CALLABLESTORAGECONTRACT_STR_S_LENGTH:Int +Int maxUInt5 ) /Int 32 ) ) +Int C_CALLABLESTORAGECONTRACT_STR_S_LENGTH:Int ) +Int -32 ) ) +Bytes b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" , ( ( 32 *Int ( ( C_CALLABLESTORAGECONTRACT_STR_S_LENGTH:Int +Int maxUInt5 ) /Int 32 ) ) +Int -32 ) , chop ( ( ( chop ( ( ( ( notMaxUInt5 &Int ( C_CALLABLESTORAGECONTRACT_STR_S_LENGTH:Int +Int maxUInt5 ) ) +Int ( 32 *Int ( ( C_CALLABLESTORAGECONTRACT_STR_S_LENGTH:Int +Int maxUInt5 ) /Int 32 ) ) ) +Int 224 ) ) -Int ( 32 *Int ( ( C_CALLABLESTORAGECONTRACT_STR_S_LENGTH:Int +Int maxUInt5 ) /Int 32 ) ) ) +Int -160 ) ) ) ) ( _STATUSCODE:StatusCode => EVMC_SUCCESS ) @@ -302,7 +314,7 @@ module SUMMARY-TEST%CALLABLESTORAGECONTRACT.STR():0 ( .WordStack => ( 95 : ( 3244011140 : .WordStack ) ) ) - ( b"" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #buf ( 32 , ( ( 32 *Int ( ( C_CALLABLESTORAGECONTRACT_STR_S_LENGTH:Int +Int maxUInt5 ) /Int 32 ) ) +Int 160 ) ) +Bytes b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #buf ( 32 , C_CALLABLESTORAGECONTRACT_STR_S_LENGTH:Int ) +Bytes C_CALLABLESTORAGECONTRACT_STR_S_CONTENTS:Bytes +Bytes #buf ( ( ( 32 *Int ( ( C_CALLABLESTORAGECONTRACT_STR_S_LENGTH:Int +Int maxUInt5 ) /Int 32 ) ) +Int -31 ) , 0 ) +Bytes b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 " +Bytes #buf ( 32 , C_CALLABLESTORAGECONTRACT_STR_S_LENGTH:Int ) +Bytes #range ( C_CALLABLESTORAGECONTRACT_STR_S_CONTENTS:Bytes , 0 , C_CALLABLESTORAGECONTRACT_STR_S_LENGTH:Int ) +Bytes b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" ) + ( b"" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #buf ( 32 , ( ( 32 *Int ( ( C_CALLABLESTORAGECONTRACT_STR_S_LENGTH:Int +Int maxUInt5 ) /Int 32 ) ) +Int 160 ) ) +Bytes b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #buf ( 32 , C_CALLABLESTORAGECONTRACT_STR_S_LENGTH:Int ) +Bytes C_CALLABLESTORAGECONTRACT_STR_S_CONTENTS:Bytes +Bytes b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 " +Bytes #buf ( 32 , C_CALLABLESTORAGECONTRACT_STR_S_LENGTH:Int ) +Bytes #range ( C_CALLABLESTORAGECONTRACT_STR_S_CONTENTS:Bytes , 0 , ( ( ( 32 *Int ( ( C_CALLABLESTORAGECONTRACT_STR_S_LENGTH:Int +Int maxUInt5 ) /Int 32 ) ) +Int C_CALLABLESTORAGECONTRACT_STR_S_LENGTH:Int ) +Int -32 ) ) +Bytes b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" ) 0 @@ -364,6 +376,18 @@ module SUMMARY-TEST%CALLABLESTORAGECONTRACT.STR():0 true + + + false + + ... + + + + false + + ... + false diff --git a/src/tests/integration/test-data/show/ContractFieldTest.testEscrowToken().cse.expected b/src/tests/integration/test-data/show/ContractFieldTest.testEscrowToken().cse.expected index a395292a5..0a34a8c0f 100644 --- a/src/tests/integration/test-data/show/ContractFieldTest.testEscrowToken().cse.expected +++ b/src/tests/integration/test-data/show/ContractFieldTest.testEscrowToken().cse.expected @@ -7,7 +7,7 @@ │ src: test/nested/SimpleNested.t.sol:7:11 │ method: test%ContractFieldTest.setUp() │ -│ (2233 steps) +│ (2231 steps) ├─ 8 (terminal) │ k: #halt ~> CONTINUATION:K │ pc: 194 diff --git a/src/tests/integration/test-data/show/Enum.enum_argument_range(uint8).cse.expected b/src/tests/integration/test-data/show/Enum.enum_argument_range(uint8).cse.expected index 58c4308b9..dffca120a 100644 --- a/src/tests/integration/test-data/show/Enum.enum_argument_range(uint8).cse.expected +++ b/src/tests/integration/test-data/show/Enum.enum_argument_range(uint8).cse.expected @@ -155,6 +155,18 @@ module SUMMARY-TEST%ENUM.ENUM-ARGUMENT-RANGE(UINT8):0 true + + + false + + ... + + + + false + + ... + false diff --git a/src/tests/integration/test-data/show/Enum.enum_storage_range().cse.expected b/src/tests/integration/test-data/show/Enum.enum_storage_range().cse.expected index 550df7629..7f0d37093 100644 --- a/src/tests/integration/test-data/show/Enum.enum_storage_range().cse.expected +++ b/src/tests/integration/test-data/show/Enum.enum_storage_range().cse.expected @@ -1,2619 +1,97 @@ -┌─ 1 (root, init) +┌─ 1 (root, split, init) │ k: #execute ~> CONTINUATION:K │ pc: 0 │ callDepth: CALLDEPTH_CELL:Int │ statusCode: STATUSCODE:StatusCode │ src: test/nested/SimpleNested.t.sol:7:11 │ method: test%Enum.enum_storage_range() -│ -│ (264 steps) -├─ 3 -│ k: #next [ STATICCALL ] ~> #execute ~> CONTINUATION:K -│ pc: 145 -│ callDepth: CALLDEPTH_CELL:Int -│ statusCode: STATUSCODE:StatusCode -│ src: test/nested/SimpleNested.t.sol:7:11 -│ method: test%Enum.enum_storage_range() ┃ -┃ (1 step) -┣━━┓ +┃ (branch) +┣━━┓ subst: .Subst +┃ ┃ constraint: +┃ ┃ CALLDEPTH_CELL:Int #checkRevert ~> #updateRevertOutput 128 32 ~> #execute ~ ... -┃ │ pc: 145 -┃ │ callDepth: EXPECTEDDEPTH_CELL:Int +┃ ├─ 8 +┃ │ k: #execute ~> CONTINUATION:K +┃ │ pc: 0 +┃ │ callDepth: CALLDEPTH_CELL:Int ┃ │ statusCode: STATUSCODE:StatusCode ┃ │ src: test/nested/SimpleNested.t.sol:7:11 ┃ │ method: test%Enum.enum_storage_range() -┃ ┃ -┃ ┃ (branch) -┃ ┣━━┓ subst: .Subst -┃ ┃ ┃ constraint: -┃ ┃ ┃ ACTIVE_CELL:Bool -┃ ┃ ┃ DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int -┃ ┃ ┃ ( notBool NEWCALLER_CELL:Account ==K C_ENUM_ID:Int ) -┃ ┃ │ -┃ ┃ ├─ 7 -┃ ┃ │ k: #next [ STATICCALL ] ~> #checkRevert ~> #updateRevertOutput 128 32 ~> #execute ~ ... -┃ ┃ │ pc: 145 -┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int -┃ ┃ │ statusCode: STATUSCODE:StatusCode -┃ ┃ │ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ │ method: test%Enum.enum_storage_range() -┃ ┃ │ -┃ ┃ │ (1 step) -┃ ┃ ├─ 13 -┃ ┃ │ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateReve ... -┃ ┃ │ pc: 145 -┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int -┃ ┃ │ statusCode: STATUSCODE:StatusCode -┃ ┃ │ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ │ method: test%Enum.enum_storage_range() -┃ ┃ ┃ -┃ ┃ ┃ (1 step) -┃ ┃ ┣━━┓ -┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 22 -┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 128 32 ... -┃ ┃ ┃ │ pc: 145 -┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int -┃ ┃ ┃ │ statusCode: STATUSCODE:StatusCode -┃ ┃ ┃ │ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ ┃ │ method: test%Enum.enum_storage_range() -┃ ┃ ┃ │ -┃ ┃ ┃ │ (7 steps) -┃ ┃ ┃ └─ 41 (leaf, pending) -┃ ┃ ┃ k: #checkBalanceUnderflow NCL:Int 0 ~> #checkDepthExceeded ~> #call NCL:Int C_ENUM_ ... -┃ ┃ ┃ pc: 145 -┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int -┃ ┃ ┃ statusCode: STATUSCODE:StatusCode -┃ ┃ ┃ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ ┃ method: test%Enum.enum_storage_range() -┃ ┃ ┃ -┃ ┃ ┣━━┓ -┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 23 -┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 128 32 ... -┃ ┃ ┃ │ pc: 145 -┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int -┃ ┃ ┃ │ statusCode: STATUSCODE:StatusCode -┃ ┃ ┃ │ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ ┃ │ method: test%Enum.enum_storage_range() -┃ ┃ ┃ │ -┃ ┃ ┃ │ (7 steps) -┃ ┃ ┃ └─ 42 (leaf, pending) -┃ ┃ ┃ k: #checkBalanceUnderflow NCL:Int 0 ~> #checkDepthExceeded ~> #call NCL:Int C_ENUM_ ... -┃ ┃ ┃ pc: 145 -┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int -┃ ┃ ┃ statusCode: STATUSCODE:StatusCode -┃ ┃ ┃ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ ┃ method: test%Enum.enum_storage_range() -┃ ┃ ┃ -┃ ┃ ┗━━┓ -┃ ┃ │ -┃ ┃ ├─ 24 -┃ ┃ │ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateReve ... -┃ ┃ │ pc: 145 -┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int -┃ ┃ │ statusCode: STATUSCODE:StatusCode -┃ ┃ │ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ │ method: test%Enum.enum_storage_range() -┃ ┃ ┃ -┃ ┃ ┃ (1 step) -┃ ┃ ┣━━┓ -┃ ┃ ┃ │ -┃ ┃ ┃ └─ 43 (leaf, pending) -┃ ┃ ┃ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 128 32 ... -┃ ┃ ┃ pc: 145 -┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int -┃ ┃ ┃ statusCode: STATUSCODE:StatusCode -┃ ┃ ┃ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ ┃ method: test%Enum.enum_storage_range() -┃ ┃ ┃ -┃ ┃ ┗━━┓ -┃ ┃ │ -┃ ┃ └─ 44 (leaf, pending) -┃ ┃ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateReve ... -┃ ┃ pc: 145 -┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int -┃ ┃ statusCode: STATUSCODE:StatusCode -┃ ┃ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ method: test%Enum.enum_storage_range() -┃ ┃ -┃ ┣━━┓ subst: .Subst -┃ ┃ ┃ constraint: -┃ ┃ ┃ ACTIVE_CELL:Bool -┃ ┃ ┃ DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int -┃ ┃ ┃ ( notBool NEWCALLER_CELL:Account ==K C_ENUM_ID:Int ) -┃ ┃ ┃ ( notBool C_ENUM_ID:Int ==Int C_ENUM_MEMBER_CONTRACT_ID:Int ) -┃ ┃ │ -┃ ┃ ├─ 14 -┃ ┃ │ k: #next [ STATICCALL ] ~> #checkRevert ~> #updateRevertOutput 128 32 ~> #execute ~ ... -┃ ┃ │ pc: 145 -┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int -┃ ┃ │ statusCode: STATUSCODE:StatusCode -┃ ┃ │ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ │ method: test%Enum.enum_storage_range() -┃ ┃ │ -┃ ┃ │ (1 step) -┃ ┃ ├─ 25 -┃ ┃ │ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateReve ... -┃ ┃ │ pc: 145 -┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int -┃ ┃ │ statusCode: STATUSCODE:StatusCode -┃ ┃ │ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ │ method: test%Enum.enum_storage_range() -┃ ┃ ┃ -┃ ┃ ┃ (1 step) -┃ ┃ ┣━━┓ -┃ ┃ ┃ │ -┃ ┃ ┃ └─ 45 (leaf, pending) -┃ ┃ ┃ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 128 32 ... -┃ ┃ ┃ pc: 145 -┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int -┃ ┃ ┃ statusCode: STATUSCODE:StatusCode -┃ ┃ ┃ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ ┃ method: test%Enum.enum_storage_range() -┃ ┃ ┃ -┃ ┃ ┣━━┓ -┃ ┃ ┃ │ -┃ ┃ ┃ └─ 46 (leaf, pending) -┃ ┃ ┃ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 128 32 ... -┃ ┃ ┃ pc: 145 -┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int -┃ ┃ ┃ statusCode: STATUSCODE:StatusCode -┃ ┃ ┃ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ ┃ method: test%Enum.enum_storage_range() -┃ ┃ ┃ -┃ ┃ ┗━━┓ -┃ ┃ │ -┃ ┃ └─ 47 (leaf, pending) -┃ ┃ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateReve ... -┃ ┃ pc: 145 -┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int -┃ ┃ statusCode: STATUSCODE:StatusCode -┃ ┃ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ method: test%Enum.enum_storage_range() -┃ ┃ -┃ ┣━━┓ subst: .Subst -┃ ┃ ┃ constraint: -┃ ┃ ┃ ACTIVE_CELL:Bool -┃ ┃ ┃ DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int -┃ ┃ ┃ ( notBool NEWCALLER_CELL:Account ==K C_ENUM_ID:Int ) -┃ ┃ ┃ ( notBool C_ENUM_ID:Int ==Int C_ENUM_MEMBER_CONTRACT_ID:Int ) -┃ ┃ │ -┃ ┃ ├─ 26 -┃ ┃ │ k: #next [ STATICCALL ] ~> #checkRevert ~> #updateRevertOutput 128 32 ~> #execute ~ ... -┃ ┃ │ pc: 145 -┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int -┃ ┃ │ statusCode: STATUSCODE:StatusCode -┃ ┃ │ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ │ method: test%Enum.enum_storage_range() -┃ ┃ │ -┃ ┃ │ (1 step) -┃ ┃ └─ 48 (leaf, pending) -┃ ┃ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateReve ... -┃ ┃ pc: 145 -┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int -┃ ┃ statusCode: STATUSCODE:StatusCode -┃ ┃ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ method: test%Enum.enum_storage_range() -┃ ┃ -┃ ┣━━┓ subst: .Subst -┃ ┃ ┃ constraint: -┃ ┃ ┃ ACTIVE_CELL:Bool -┃ ┃ ┃ DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int -┃ ┃ ┃ ( notBool NEWCALLER_CELL:Account ==K C_ENUM_ID:Int ) -┃ ┃ ┃ ( notBool C_ENUM_ID:Int ==Int C_ENUM_MEMBER_CONTRACT_ID:Int ) -┃ ┃ │ -┃ ┃ └─ 49 (leaf, pending) -┃ ┃ k: #next [ STATICCALL ] ~> #checkRevert ~> #updateRevertOutput 128 32 ~> #execute ~ ... -┃ ┃ pc: 145 -┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int -┃ ┃ statusCode: STATUSCODE:StatusCode -┃ ┃ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ method: test%Enum.enum_storage_range() -┃ ┃ -┃ ┗━━┓ subst: .Subst -┃ ┃ constraint: -┃ ┃ ( notBool C_ENUM_ID:Int ==Int C_ENUM_MEMBER_CONTRACT_ID:Int ) -┃ │ -┃ └─ 50 (leaf, pending) -┃ k: #next [ STATICCALL ] ~> #checkRevert ~> #updateRevertOutput 128 32 ~> #execute ~ ... -┃ pc: 145 -┃ callDepth: EXPECTEDDEPTH_CELL:Int -┃ statusCode: STATUSCODE:StatusCode -┃ src: test/nested/SimpleNested.t.sol:7:11 -┃ method: test%Enum.enum_storage_range() -┃ -┣━━┓ ┃ │ -┃ ├─ 5 -┃ │ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K -┃ │ pc: 145 -┃ │ callDepth: DEPTH_CELL:Int -┃ │ statusCode: STATUSCODE:StatusCode -┃ │ src: test/nested/SimpleNested.t.sol:7:11 -┃ │ method: test%Enum.enum_storage_range() -┃ ┃ -┃ ┃ (1 step) -┃ ┣━━┓ -┃ ┃ │ -┃ ┃ ├─ 9 -┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K -┃ ┃ │ pc: 145 -┃ ┃ │ callDepth: DEPTH_CELL:Int -┃ ┃ │ statusCode: STATUSCODE:StatusCode -┃ ┃ │ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ │ method: test%Enum.enum_storage_range() -┃ ┃ │ -┃ ┃ │ (7 steps) -┃ ┃ ├─ 16 -┃ ┃ │ k: #checkBalanceUnderflow NCL:Int 0 ~> #checkDepthExceeded ~> #call NCL:Int C_ENUM_ ... -┃ ┃ │ pc: 145 -┃ ┃ │ callDepth: DEPTH_CELL:Int -┃ ┃ │ statusCode: STATUSCODE:StatusCode -┃ ┃ │ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ │ method: test%Enum.enum_storage_range() -┃ ┃ ┃ -┃ ┃ ┃ (1 step) -┃ ┃ ┣━━┓ -┃ ┃ ┃ │ -┃ ┃ ┃ └─ 28 (leaf, pending) -┃ ┃ ┃ k: #refund 0 ~> #pushCallStack ~> #pushWorldState ~> #end EVMC_BALANCE_UNDERFLOW ~> ... -┃ ┃ ┃ pc: 145 -┃ ┃ ┃ callDepth: DEPTH_CELL:Int -┃ ┃ ┃ statusCode: STATUSCODE:StatusCode -┃ ┃ ┃ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ ┃ method: test%Enum.enum_storage_range() -┃ ┃ ┃ -┃ ┃ ┣━━┓ -┃ ┃ ┃ │ -┃ ┃ ┃ └─ 29 (leaf, pending) -┃ ┃ ┃ k: #checkDepthExceeded ~> #call NCL:Int NCL:Int NCL:Int 0 0 b"h\xaf7\xdf" true ~> # ... -┃ ┃ ┃ pc: 145 -┃ ┃ ┃ callDepth: DEPTH_CELL:Int -┃ ┃ ┃ statusCode: STATUSCODE:StatusCode -┃ ┃ ┃ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ ┃ method: test%Enum.enum_storage_range() -┃ ┃ ┃ -┃ ┃ ┣━━┓ -┃ ┃ ┃ │ -┃ ┃ ┃ └─ 30 (leaf, pending) -┃ ┃ ┃ k: #checkDepthExceeded ~> #call NCL:Int C_ENUM_MEMBER_CONTRACT_ID:Int C_ENUM_MEMBER ... -┃ ┃ ┃ pc: 145 -┃ ┃ ┃ callDepth: DEPTH_CELL:Int -┃ ┃ ┃ statusCode: STATUSCODE:StatusCode -┃ ┃ ┃ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ ┃ method: test%Enum.enum_storage_range() -┃ ┃ ┃ -┃ ┃ ┗━━┓ -┃ ┃ │ -┃ ┃ └─ 31 (leaf, pending) -┃ ┃ k: #checkBalanceUnderflow NCL:Int 0 ~> #checkDepthExceeded ~> #call NCL:Int C_ENUM_ ... -┃ ┃ pc: 145 -┃ ┃ callDepth: DEPTH_CELL:Int -┃ ┃ statusCode: STATUSCODE:StatusCode -┃ ┃ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ method: test%Enum.enum_storage_range() -┃ ┃ -┃ ┣━━┓ -┃ ┃ │ -┃ ┃ ├─ 10 -┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K -┃ ┃ │ pc: 145 -┃ ┃ │ callDepth: DEPTH_CELL:Int -┃ ┃ │ statusCode: STATUSCODE:StatusCode -┃ ┃ │ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ │ method: test%Enum.enum_storage_range() -┃ ┃ │ -┃ ┃ │ (7 steps) -┃ ┃ ├─ 17 -┃ ┃ │ k: #checkBalanceUnderflow NCL:Int 0 ~> #checkDepthExceeded ~> #call NCL:Int C_ENUM_ ... -┃ ┃ │ pc: 145 -┃ ┃ │ callDepth: DEPTH_CELL:Int -┃ ┃ │ statusCode: STATUSCODE:StatusCode -┃ ┃ │ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ │ method: test%Enum.enum_storage_range() -┃ ┃ ┃ -┃ ┃ ┃ (1 step) -┃ ┃ ┣━━┓ -┃ ┃ ┃ │ -┃ ┃ ┃ └─ 32 (leaf, pending) -┃ ┃ ┃ k: #refund 0 ~> #pushCallStack ~> #pushWorldState ~> #end EVMC_BALANCE_UNDERFLOW ~> ... -┃ ┃ ┃ pc: 145 -┃ ┃ ┃ callDepth: DEPTH_CELL:Int -┃ ┃ ┃ statusCode: STATUSCODE:StatusCode -┃ ┃ ┃ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ ┃ method: test%Enum.enum_storage_range() -┃ ┃ ┃ -┃ ┃ ┣━━┓ -┃ ┃ ┃ │ -┃ ┃ ┃ └─ 33 (leaf, pending) -┃ ┃ ┃ k: #checkDepthExceeded ~> #call NCL:Int NCL:Int NCL:Int 0 0 b"h\xaf7\xdf" true ~> # ... -┃ ┃ ┃ pc: 145 -┃ ┃ ┃ callDepth: DEPTH_CELL:Int -┃ ┃ ┃ statusCode: STATUSCODE:StatusCode -┃ ┃ ┃ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ ┃ method: test%Enum.enum_storage_range() -┃ ┃ ┃ -┃ ┃ ┣━━┓ -┃ ┃ ┃ │ -┃ ┃ ┃ └─ 34 (leaf, pending) -┃ ┃ ┃ k: #checkDepthExceeded ~> #call NCL:Int C_ENUM_MEMBER_CONTRACT_ID:Int C_ENUM_MEMBER ... -┃ ┃ ┃ pc: 145 -┃ ┃ ┃ callDepth: DEPTH_CELL:Int -┃ ┃ ┃ statusCode: STATUSCODE:StatusCode -┃ ┃ ┃ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ ┃ method: test%Enum.enum_storage_range() -┃ ┃ ┃ -┃ ┃ ┗━━┓ -┃ ┃ │ -┃ ┃ └─ 35 (leaf, pending) -┃ ┃ k: #checkBalanceUnderflow NCL:Int 0 ~> #checkDepthExceeded ~> #call NCL:Int C_ENUM_ ... -┃ ┃ pc: 145 -┃ ┃ callDepth: DEPTH_CELL:Int -┃ ┃ statusCode: STATUSCODE:StatusCode -┃ ┃ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ method: test%Enum.enum_storage_range() -┃ ┃ -┃ ┗━━┓ -┃ │ -┃ ├─ 11 -┃ │ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K -┃ │ pc: 145 -┃ │ callDepth: DEPTH_CELL:Int -┃ │ statusCode: STATUSCODE:StatusCode -┃ │ src: test/nested/SimpleNested.t.sol:7:11 -┃ │ method: test%Enum.enum_storage_range() -┃ ┃ -┃ ┃ (1 step) -┃ ┣━━┓ -┃ ┃ │ -┃ ┃ ├─ 18 -┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K -┃ ┃ │ pc: 145 -┃ ┃ │ callDepth: DEPTH_CELL:Int -┃ ┃ │ statusCode: STATUSCODE:StatusCode -┃ ┃ │ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ │ method: test%Enum.enum_storage_range() -┃ ┃ │ -┃ ┃ │ (7 steps) -┃ ┃ └─ 36 (leaf, pending) -┃ ┃ k: #checkBalanceUnderflow NCL:Int 0 ~> #checkDepthExceeded ~> #call NCL:Int C_ENUM_ ... -┃ ┃ pc: 145 -┃ ┃ callDepth: DEPTH_CELL:Int -┃ ┃ statusCode: STATUSCODE:StatusCode -┃ ┃ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ method: test%Enum.enum_storage_range() -┃ ┃ -┃ ┗━━┓ -┃ │ -┃ ├─ 19 -┃ │ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K -┃ │ pc: 145 -┃ │ callDepth: DEPTH_CELL:Int -┃ │ statusCode: STATUSCODE:StatusCode -┃ │ src: test/nested/SimpleNested.t.sol:7:11 -┃ │ method: test%Enum.enum_storage_range() -┃ ┃ -┃ ┃ (1 step) -┃ ┣━━┓ -┃ ┃ │ -┃ ┃ └─ 37 (leaf, pending) -┃ ┃ k: #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K -┃ ┃ pc: 145 -┃ ┃ callDepth: DEPTH_CELL:Int -┃ ┃ statusCode: STATUSCODE:StatusCode -┃ ┃ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ method: test%Enum.enum_storage_range() -┃ ┃ -┃ ┗━━┓ -┃ │ -┃ └─ 38 (leaf, pending) -┃ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K -┃ pc: 145 -┃ callDepth: DEPTH_CELL:Int -┃ statusCode: STATUSCODE:StatusCode -┃ src: test/nested/SimpleNested.t.sol:7:11 -┃ method: test%Enum.enum_storage_range() -┃ -┗━━┓ - │ - ├─ 6 (split) - │ k: #addr [ STATICCALL ] ~> #exec [ STATICCALL ] ~> #pc [ STATICCALL ] ~> #execute ~ ... - │ pc: 145 - │ callDepth: CALLDEPTH_CELL:Int - │ statusCode: STATUSCODE:StatusCode - │ src: test/nested/SimpleNested.t.sol:7:11 - │ method: test%Enum.enum_storage_range() - ┃ - ┃ (branch) - ┣━━┓ subst: .Subst - ┃ ┃ constraint: - ┃ ┃ CALLDEPTH_CELL:Int #exec [ STATICCALL ] ~> #pc [ STATICCALL ] ~> #execute ~ ... - ┃ │ pc: 145 - ┃ │ callDepth: CALLDEPTH_CELL:Int - ┃ │ statusCode: STATUSCODE:StatusCode - ┃ │ src: test/nested/SimpleNested.t.sol:7:11 - ┃ │ method: test%Enum.enum_storage_range() - ┃ │ - ┃ │ (977 steps) - ┃ └─ 39 (leaf, pending) - ┃ k: #halt ~> CONTINUATION:K - ┃ pc: 68 - ┃ callDepth: CALLDEPTH_CELL:Int - ┃ statusCode: EVMC_SUCCESS - ┃ src: test/nested/SimpleNested.t.sol:7:11 - ┃ method: test%Enum.enum_storage_range() - ┃ - ┗━━┓ subst: .Subst - ┃ constraint: - ┃ 1024 <=Int CALLDEPTH_CELL:Int - │ - ├─ 52 - │ k: #addr [ STATICCALL ] ~> #exec [ STATICCALL ] ~> #pc [ STATICCALL ] ~> #execute ~ ... - │ pc: 145 - │ callDepth: CALLDEPTH_CELL:Int - │ statusCode: STATUSCODE:StatusCode - │ src: test/nested/SimpleNested.t.sol:7:11 - │ method: test%Enum.enum_storage_range() - │ - │ (83 steps) - └─ 40 (leaf, pending) - k: #halt ~> CONTINUATION:K - pc: 161 - callDepth: CALLDEPTH_CELL:Int - statusCode: EVMC_REVERT - src: test/nested/SimpleNested.t.sol:7:11 - method: test%Enum.enum_storage_range() - - -┌─ 2 (root, leaf, target, terminal) -│ k: #halt ~> CONTINUATION:K -│ pc: PC_CELL_5d410f2a:Int -│ callDepth: CALLDEPTH_CELL_5d410f2a:Int -│ statusCode: STATUSCODE_FINAL:StatusCode - - - -module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 - - - rule [BASIC-BLOCK-1-TO-3]: - - - ( .K => #next [ STATICCALL ] ~> .K ) - ~> #execute - ~> _CONTINUATION:K - - - NORMAL - - - CANCUN - - - false - - - - - - C_ENUM_ID:Int - - - CALLER_ID:Int - - - b"c6\xf6\x1e" - - - 0 - - - ( .WordStack => ( 0 : ( C_ENUM_MEMBER_CONTRACT_ID:Int : ( 128 : ( 4 : ( 128 : ( 32 : ( 132 : ( 1756313567 : ( C_ENUM_MEMBER_CONTRACT_ID:Int : ( 5 : ( 67 : ( 1664546334 : .WordStack ) ) ) ) ) ) ) ) ) ) ) ) ) - - - ( b"" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\xaf7\xdf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" ) - - - 0 - - - 0 - - ... - - - - 0 - - ... - - - ORIGIN_ID:Int - - - - NUMBER_CELL:Int - - - TIMESTAMP_CELL:Int - - ... - - ... - - - - 1 - - - ( - - C_ENUM_ID:Int - - - C_ENUM_BAL:Int - - - ( ( 0 |-> C_ENUM_MEMBER_CONTRACT_ID:Int ) - C_ENUM_STORAGE:Map ) - - - C_ENUM_NONCE:Int - - ... - - ( - - C_ENUM_MEMBER_CONTRACT_ID:Int - - - C_ENUM_MEMBER_CONTRACT_BAL:Int - - - C_ENUM_MEMBER_CONTRACT_STORAGE:Map - - - C_ENUM_MEMBER_CONTRACT_NONCE:Int - - ... - - ACCOUNTS_REST:AccountCellMap ) ) - - ... - - - ... - - - true - - - - - false - - ... - - - - false - - - .List - - - false - - - .List - - - - .MockCallCellMap - - - .MockFunctionCellMap - - ... - - - - false - - - false - - - false - - - false - - - false - - - .List - - - - requires ( 0 <=Int CALLER_ID:Int - andBool ( 0 <=Int C_ENUM_ID:Int - andBool ( 0 <=Int ORIGIN_ID:Int - andBool ( 0 <=Int C_ENUM_BAL:Int - andBool ( 0 <=Int C_ENUM_NONCE:Int - andBool ( C_ENUM_ID:Int =/=Int C_ENUM_MEMBER_CONTRACT_ID:Int - andBool ( pow24 - C_ENUM_ID:Int - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) - andBool ( ( notBool - C_ENUM_MEMBER_CONTRACT_ID:Int - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) - andBool ( #lookup ( C_ENUM_MEMBER_CONTRACT_STORAGE:Map , 1 ) - - - ( #next [ STATICCALL ] ~> .K => #injectPrank - ~> #next [ STATICCALL ] - ~> #endPrank ) - ~> #checkRevert - ~> #updateRevertOutput 128 32 - ~> #execute - ~> _CONTINUATION:K - - - NORMAL - - - CANCUN - - - false - - - - - - C_ENUM_ID:Int - - - CALLER_ID:Int - - - b"c6\xf6\x1e" - - - 0 - - - ( 0 : ( C_ENUM_MEMBER_CONTRACT_ID:Int : ( 128 : ( 4 : ( 128 : ( 32 : ( 132 : ( 1756313567 : ( C_ENUM_MEMBER_CONTRACT_ID:Int : ( 5 : ( 67 : ( 1664546334 : .WordStack ) ) ) ) ) ) ) ) ) ) ) ) - - - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\xaf7\xdf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" - - - 0 - - - 0 - - - EXPECTEDDEPTH_CELL:Int - - ... - - - - 0 - - ... - - - ORIGIN_ID:Int - - - - NUMBER_CELL:Int - - - TIMESTAMP_CELL:Int - - ... - - ... - - - - 1 - - - ( - - C_ENUM_ID:Int - - - C_ENUM_BAL:Int - - - ( ( 0 |-> C_ENUM_MEMBER_CONTRACT_ID:Int ) - C_ENUM_STORAGE:Map ) - - - C_ENUM_NONCE:Int - - ... - - ( - - C_ENUM_MEMBER_CONTRACT_ID:Int - - - C_ENUM_MEMBER_CONTRACT_BAL:Int - - - C_ENUM_MEMBER_CONTRACT_STORAGE:Map - - - C_ENUM_MEMBER_CONTRACT_NONCE:Int - - ... - - ACCOUNTS_REST:AccountCellMap ) ) - - ... - - - ... - - - true - - - - - NEWCALLER_CELL:Account - - - ( ACTIVE_CELL:Bool => true ) - - - ( DEPTH_CELL:Int => EXPECTEDDEPTH_CELL:Int ) - - ... - - - - true - - - EXPECTEDDEPTH_CELL:Int - - ... - - - - false - - ... - - - - false - - - .List - - - false - - - .List - - - - .MockCallCellMap - - - .MockFunctionCellMap - - ... - - - - false - - - false - - - false - - - false - - - false - - - .List - - - - requires ( ACTIVE_CELL:Bool - andBool ( _ISREVERTEXPECTED_CELL:Bool - andBool ( DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( 0 <=Int CALLER_ID:Int - andBool ( 0 <=Int C_ENUM_ID:Int - andBool ( 0 <=Int ORIGIN_ID:Int - andBool ( 0 <=Int C_ENUM_BAL:Int - andBool ( 0 <=Int C_ENUM_NONCE:Int - andBool ( NEWCALLER_CELL:Account =/=K C_ENUM_ID:Int - andBool ( pow24 - C_ENUM_ID:Int - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) - andBool ( ( notBool - C_ENUM_MEMBER_CONTRACT_ID:Int - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) - andBool ( ( notBool #range ( 0 < CALLER_ID:Int <= 10 ) ) - andBool ( ( notBool #range ( 0 < C_ENUM_ID:Int <= 10 ) ) - andBool ( ( notBool #range ( 0 < ORIGIN_ID:Int <= 10 ) ) - andBool ( ( notBool #range ( 0 < C_ENUM_MEMBER_CONTRACT_ID:Int <= 10 ) ) - )))))))))))))))))))))))))))))))))))))) - ensures NEWCALLER_CELL:Account ~> .K =/=K C_ENUM_ID:Int ~> .K - [priority(20), label(BASIC-BLOCK-7-TO-13)] - - rule [BASIC-BLOCK-9-TO-16]: - - - ( #next [ STATICCALL ] ~> .K => #checkBalanceUnderflow NCL:Int 0 - ~> #checkDepthExceeded - ~> #call NCL:Int C_ENUM_MEMBER_CONTRACT_ID:Int C_ENUM_MEMBER_CONTRACT_ID:Int 0 0 b"h\xaf7\xdf" true - ~> #return 128 32 - ~> #pc [ STATICCALL ] ) - ~> #endPrank - ~> #execute - ~> _CONTINUATION:K - - - NORMAL - - - CANCUN - - - false - - - - - - NCL:Int - - - CALLER_ID:Int - - - b"c6\xf6\x1e" - - - 0 - - - ( ( 0 => 132 ) : ( ( C_ENUM_MEMBER_CONTRACT_ID:Int => 1756313567 ) : ( ( 128 => C_ENUM_MEMBER_CONTRACT_ID:Int ) : ( ( 4 => 5 ) : ( ( 128 => 67 ) : ( ( 32 => 1664546334 ) : ( ( 132 : ( 1756313567 : ( C_ENUM_MEMBER_CONTRACT_ID:Int : ( 5 : ( 67 : ( 1664546334 : .WordStack ) ) ) ) ) ) => .WordStack ) ) ) ) ) ) ) - - - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\xaf7\xdf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" - - - 0 - - - 0 - - - DEPTH_CELL:Int - - ... - - - - 0 - - - ( ACCESSEDACCOUNTS_CELL:Set => ACCESSEDACCOUNTS_CELL:Set |Set SetItem ( C_ENUM_MEMBER_CONTRACT_ID:Int ) ) - - ... - - - NOG:Int - - - - NUMBER_CELL:Int - - - TIMESTAMP_CELL:Int - - ... - - ... - - - - 1 - - - ( - - C_ENUM_ID:Int - - - C_ENUM_BAL:Int - - - ( ( 0 |-> C_ENUM_MEMBER_CONTRACT_ID:Int ) - C_ENUM_STORAGE:Map ) - - - C_ENUM_NONCE:Int - - ... - - ( - - C_ENUM_MEMBER_CONTRACT_ID:Int - - - C_ENUM_MEMBER_CONTRACT_BAL:Int - - - C_ENUM_MEMBER_CONTRACT_STORAGE:Map - - - C_ENUM_MEMBER_CONTRACT_NONCE:Int - - ... - - ACCOUNTS_REST:AccountCellMap ) ) - - ... - - - ... - - - true - - - - - NCL:Int - - - NOG:Int - - - true - - - DEPTH_CELL:Int - - ... - - - - ISREVERTEXPECTED_CELL:Bool - - - EXPECTEDDEPTH_CELL:Int - - ... - - - - false - - ... - - - - false - - - .List - - - false - - - .List - - - - .MockCallCellMap - - - .MockFunctionCellMap - - ... - - - - false - - - false - - - false - - - false - - - false - - - .List - - - - requires ( _ACTIVE_CELL:Bool - andBool ( _CALLDEPTH_CELL:Int ==Int DEPTH_CELL:Int - andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _NEWORIGIN_CELL:Account ==K NOG:Int - andBool ( 0 <=Int CALLER_ID:Int - andBool ( 0 <=Int C_ENUM_ID:Int - andBool ( 0 <=Int ORIGIN_ID:Int - andBool ( 0 <=Int C_ENUM_BAL:Int - andBool ( 0 <=Int C_ENUM_NONCE:Int - andBool ( pow24 - C_ENUM_ID:Int - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) - andBool ( ( notBool - C_ENUM_MEMBER_CONTRACT_ID:Int - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) - andBool ( ( notBool #range ( 0 < CALLER_ID:Int <= 10 ) ) - andBool ( ( notBool #range ( 0 < C_ENUM_ID:Int <= 10 ) ) - andBool ( ( notBool #range ( 0 < ORIGIN_ID:Int <= 10 ) ) - andBool ( ( notBool #range ( 0 < C_ENUM_MEMBER_CONTRACT_ID:Int <= 10 ) ) - andBool ( ( notBool ( DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ISREVERTEXPECTED_CELL:Bool ) ) - ))))))))))))))))))))))))))))))))))))))) - [priority(20), label(BASIC-BLOCK-9-TO-16)] - - rule [BASIC-BLOCK-10-TO-17]: - - - ( #next [ STATICCALL ] ~> .K => #checkBalanceUnderflow NCL:Int 0 - ~> #checkDepthExceeded - ~> #call NCL:Int C_ENUM_MEMBER_CONTRACT_ID:Int C_ENUM_MEMBER_CONTRACT_ID:Int 0 0 b"h\xaf7\xdf" true - ~> #return 128 32 - ~> #pc [ STATICCALL ] ) - ~> #endPrank - ~> #execute - ~> _CONTINUATION:K - - - NORMAL - - - CANCUN - - - false - - - - - - NCL:Int - - - CALLER_ID:Int - - - b"c6\xf6\x1e" - - - 0 - - - ( ( 0 => 132 ) : ( ( C_ENUM_MEMBER_CONTRACT_ID:Int => 1756313567 ) : ( ( 128 => C_ENUM_MEMBER_CONTRACT_ID:Int ) : ( ( 4 => 5 ) : ( ( 128 => 67 ) : ( ( 32 => 1664546334 ) : ( ( 132 : ( 1756313567 : ( C_ENUM_MEMBER_CONTRACT_ID:Int : ( 5 : ( 67 : ( 1664546334 : .WordStack ) ) ) ) ) ) => .WordStack ) ) ) ) ) ) ) - - - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\xaf7\xdf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" - - - 0 - - - 0 - - - DEPTH_CELL:Int - - ... - - - - 0 - - - ( ACCESSEDACCOUNTS_CELL:Set => ACCESSEDACCOUNTS_CELL:Set |Set SetItem ( C_ENUM_MEMBER_CONTRACT_ID:Int ) ) - - ... - - - ORIGIN_ID:Int - - - - NUMBER_CELL:Int - - - TIMESTAMP_CELL:Int - - ... - - ... - - - - 1 - - - ( - - C_ENUM_ID:Int - - - C_ENUM_BAL:Int - - - ( ( 0 |-> C_ENUM_MEMBER_CONTRACT_ID:Int ) - C_ENUM_STORAGE:Map ) - - - C_ENUM_NONCE:Int - - ... - - ( - - C_ENUM_MEMBER_CONTRACT_ID:Int - - - C_ENUM_MEMBER_CONTRACT_BAL:Int - - - C_ENUM_MEMBER_CONTRACT_STORAGE:Map - - - C_ENUM_MEMBER_CONTRACT_NONCE:Int - - ... - - ACCOUNTS_REST:AccountCellMap ) ) - - ... - - - ... - - - true - - - - - NCL:Int - - - .Account - - - true - - - DEPTH_CELL:Int - - ... - - - - ISREVERTEXPECTED_CELL:Bool - - - EXPECTEDDEPTH_CELL:Int - - ... - - - - false - - ... - - - - false - - - .List - - - false - - - .List - - - - .MockCallCellMap - - - .MockFunctionCellMap - - ... - - - - false - - - false - - - false - - - false - - - false - - - .List - - - - requires ( _ACTIVE_CELL:Bool - andBool ( _CALLDEPTH_CELL:Int ==Int DEPTH_CELL:Int - andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _NEWORIGIN_CELL:Account ==K .Account - andBool ( 0 <=Int CALLER_ID:Int - andBool ( 0 <=Int C_ENUM_ID:Int - andBool ( 0 <=Int ORIGIN_ID:Int - andBool ( 0 <=Int C_ENUM_BAL:Int - andBool ( 0 <=Int C_ENUM_NONCE:Int - andBool ( pow24 - C_ENUM_ID:Int - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) - andBool ( ( notBool - C_ENUM_MEMBER_CONTRACT_ID:Int - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) - andBool ( ( notBool #range ( 0 < CALLER_ID:Int <= 10 ) ) - andBool ( ( notBool #range ( 0 < C_ENUM_ID:Int <= 10 ) ) - andBool ( ( notBool #range ( 0 < ORIGIN_ID:Int <= 10 ) ) - andBool ( ( notBool #range ( 0 < C_ENUM_MEMBER_CONTRACT_ID:Int <= 10 ) ) - andBool ( ( notBool ( DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ISREVERTEXPECTED_CELL:Bool ) ) - ))))))))))))))))))))))))))))))))))))))) - [priority(20), label(BASIC-BLOCK-10-TO-17)] - - rule [BASIC-BLOCK-14-TO-25]: - - - ( #next [ STATICCALL ] ~> .K => #injectPrank - ~> #next [ STATICCALL ] - ~> #endPrank ) - ~> #checkRevert - ~> #updateRevertOutput 128 32 - ~> #execute - ~> _CONTINUATION:K - - - NORMAL - - - CANCUN - - - false - - - - - - C_ENUM_ID:Int - - - CALLER_ID:Int - - - b"c6\xf6\x1e" - - - 0 - - - ( 0 : ( C_ENUM_MEMBER_CONTRACT_ID:Int : ( 128 : ( 4 : ( 128 : ( 32 : ( 132 : ( 1756313567 : ( C_ENUM_MEMBER_CONTRACT_ID:Int : ( 5 : ( 67 : ( 1664546334 : .WordStack ) ) ) ) ) ) ) ) ) ) ) ) - - - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\xaf7\xdf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" - - - 0 - - - 0 - - - EXPECTEDDEPTH_CELL:Int - - ... - - - - 0 - - ... - - - ORIGIN_ID:Int - - - - NUMBER_CELL:Int - - - TIMESTAMP_CELL:Int - - ... - - ... - - - - 1 - - - ( - - C_ENUM_ID:Int - - - C_ENUM_BAL:Int - - - ( ( 0 |-> C_ENUM_MEMBER_CONTRACT_ID:Int ) - C_ENUM_STORAGE:Map ) - - - C_ENUM_NONCE:Int - - ... - - ( - - C_ENUM_MEMBER_CONTRACT_ID:Int - - - C_ENUM_MEMBER_CONTRACT_BAL:Int - - - C_ENUM_MEMBER_CONTRACT_STORAGE:Map - - - C_ENUM_MEMBER_CONTRACT_NONCE:Int - - ... - - ACCOUNTS_REST:AccountCellMap ) ) - - ... - - - ... - - - true - - - - - NEWCALLER_CELL:Account - - - ( ACTIVE_CELL:Bool => true ) - - - ( DEPTH_CELL:Int => EXPECTEDDEPTH_CELL:Int ) - - ... - - - - true - - - EXPECTEDDEPTH_CELL:Int - - ... - - - - false - - ... - - - - false - - - .List - - - false - - - .List - - - - .MockCallCellMap - - - .MockFunctionCellMap - - ... - - - - false - - - false - - - false - - - false - - - false - - - .List - - - - requires ( ACTIVE_CELL:Bool - andBool ( _ISREVERTEXPECTED_CELL:Bool - andBool ( DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( 0 <=Int CALLER_ID:Int - andBool ( 0 <=Int C_ENUM_ID:Int - andBool ( 0 <=Int ORIGIN_ID:Int - andBool ( 0 <=Int C_ENUM_BAL:Int - andBool ( 0 <=Int C_ENUM_NONCE:Int - andBool ( NEWCALLER_CELL:Account =/=K C_ENUM_ID:Int - andBool ( C_ENUM_ID:Int =/=Int C_ENUM_MEMBER_CONTRACT_ID:Int - andBool ( pow24 - C_ENUM_ID:Int - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) - andBool ( ( notBool - C_ENUM_MEMBER_CONTRACT_ID:Int - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) - andBool ( ( notBool #range ( 0 < CALLER_ID:Int <= 10 ) ) - andBool ( ( notBool #range ( 0 < C_ENUM_ID:Int <= 10 ) ) - andBool ( ( notBool #range ( 0 < ORIGIN_ID:Int <= 10 ) ) - andBool ( ( notBool #range ( 0 < C_ENUM_MEMBER_CONTRACT_ID:Int <= 10 ) ) - )))))))))))))))))))))))))))))))))))))) - ensures NEWCALLER_CELL:Account ~> .K =/=K C_ENUM_ID:Int ~> .K - [priority(20), label(BASIC-BLOCK-14-TO-25)] - - rule [BASIC-BLOCK-18-TO-36]: - - - ( #next [ STATICCALL ] ~> .K => #checkBalanceUnderflow NCL:Int 0 - ~> #checkDepthExceeded - ~> #call NCL:Int C_ENUM_MEMBER_CONTRACT_ID:Int C_ENUM_MEMBER_CONTRACT_ID:Int 0 0 b"h\xaf7\xdf" true - ~> #return 128 32 - ~> #pc [ STATICCALL ] ) - ~> #endPrank - ~> #execute - ~> _CONTINUATION:K - - - NORMAL - - - CANCUN - - - false - - - - - - NCL:Int - - - CALLER_ID:Int - - - b"c6\xf6\x1e" - - - 0 - - - ( ( 0 => 132 ) : ( ( C_ENUM_MEMBER_CONTRACT_ID:Int => 1756313567 ) : ( ( 128 => C_ENUM_MEMBER_CONTRACT_ID:Int ) : ( ( 4 => 5 ) : ( ( 128 => 67 ) : ( ( 32 => 1664546334 ) : ( ( 132 : ( 1756313567 : ( C_ENUM_MEMBER_CONTRACT_ID:Int : ( 5 : ( 67 : ( 1664546334 : .WordStack ) ) ) ) ) ) => .WordStack ) ) ) ) ) ) ) - - - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\xaf7\xdf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" - - - 0 - - - 0 - - - DEPTH_CELL:Int - - ... - - - - 0 - - - ( ACCESSEDACCOUNTS_CELL:Set => ACCESSEDACCOUNTS_CELL:Set |Set SetItem ( C_ENUM_MEMBER_CONTRACT_ID:Int ) ) - - ... - - - NOG0:Int - - - - NUMBER_CELL:Int - - - TIMESTAMP_CELL:Int - - ... - - ... - - - - 1 - - - ( - - C_ENUM_ID:Int - - - C_ENUM_BAL:Int - - - ( ( 0 |-> C_ENUM_MEMBER_CONTRACT_ID:Int ) - C_ENUM_STORAGE:Map ) - - - C_ENUM_NONCE:Int - - ... - - ( - - C_ENUM_MEMBER_CONTRACT_ID:Int - - - C_ENUM_MEMBER_CONTRACT_BAL:Int - - - C_ENUM_MEMBER_CONTRACT_STORAGE:Map - - - C_ENUM_MEMBER_CONTRACT_NONCE:Int - - ... - - ACCOUNTS_REST:AccountCellMap ) ) - - ... - - - ... - - - true - - - - - NCL:Int - - - NOG0:Int - - - true - - - DEPTH_CELL:Int - - ... - - - - ISREVERTEXPECTED_CELL:Bool - - - EXPECTEDDEPTH_CELL:Int - - ... - - - - false - - ... - - - - false - - - .List - - - false - - - .List - - - - .MockCallCellMap - - - .MockFunctionCellMap - - ... - - - - false - - - false - - - false - - - false - - - false - - - .List - - - - requires ( _ACTIVE_CELL:Bool - andBool ( _CALLDEPTH_CELL:Int ==Int DEPTH_CELL:Int - andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _NEWORIGIN_CELL:Account ==K NOG0:Int - andBool ( 0 <=Int CALLER_ID:Int - andBool ( 0 <=Int C_ENUM_ID:Int - andBool ( 0 <=Int ORIGIN_ID:Int - andBool ( 0 <=Int C_ENUM_BAL:Int - andBool ( 0 <=Int C_ENUM_NONCE:Int - andBool ( pow24 - C_ENUM_ID:Int - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) - andBool ( ( notBool - C_ENUM_MEMBER_CONTRACT_ID:Int - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) - andBool ( ( notBool #range ( 0 < CALLER_ID:Int <= 10 ) ) - andBool ( ( notBool #range ( 0 < C_ENUM_ID:Int <= 10 ) ) - andBool ( ( notBool #range ( 0 < ORIGIN_ID:Int <= 10 ) ) - andBool ( ( notBool #range ( 0 < C_ENUM_MEMBER_CONTRACT_ID:Int <= 10 ) ) - andBool ( ( notBool ( DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ISREVERTEXPECTED_CELL:Bool ) ) - )))))))))))))))))))))))))))))))))))))))) - [priority(20), label(BASIC-BLOCK-18-TO-36)] - - rule [BASIC-BLOCK-22-TO-41]: - - - ( #next [ STATICCALL ] ~> .K => #checkBalanceUnderflow NCL:Int 0 - ~> #checkDepthExceeded - ~> #call NCL:Int C_ENUM_MEMBER_CONTRACT_ID:Int C_ENUM_MEMBER_CONTRACT_ID:Int 0 0 b"h\xaf7\xdf" true - ~> #return 128 32 - ~> #pc [ STATICCALL ] ) - ~> #endPrank - ~> #checkRevert - ~> #updateRevertOutput 128 32 - ~> #execute - ~> _CONTINUATION:K - - - NORMAL - - - CANCUN - - - false - - - - - - NCL:Int - - - CALLER_ID:Int - - - b"c6\xf6\x1e" - - - 0 - - - ( ( 0 => 132 ) : ( ( C_ENUM_MEMBER_CONTRACT_ID:Int => 1756313567 ) : ( ( 128 => C_ENUM_MEMBER_CONTRACT_ID:Int ) : ( ( 4 => 5 ) : ( ( 128 => 67 ) : ( ( 32 => 1664546334 ) : ( ( 132 : ( 1756313567 : ( C_ENUM_MEMBER_CONTRACT_ID:Int : ( 5 : ( 67 : ( 1664546334 : .WordStack ) ) ) ) ) ) => .WordStack ) ) ) ) ) ) ) - - - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\xaf7\xdf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" - - - 0 - - - 0 - - - EXPECTEDDEPTH_CELL:Int - - ... - - - - 0 - - - ( ACCESSEDACCOUNTS_CELL:Set => ACCESSEDACCOUNTS_CELL:Set |Set SetItem ( C_ENUM_MEMBER_CONTRACT_ID:Int ) ) - - ... - - - NOG:Int - - - - NUMBER_CELL:Int - - - TIMESTAMP_CELL:Int - - ... - - ... - - - - 1 - - - ( - - C_ENUM_ID:Int - - - C_ENUM_BAL:Int - - - ( ( 0 |-> C_ENUM_MEMBER_CONTRACT_ID:Int ) - C_ENUM_STORAGE:Map ) - - - C_ENUM_NONCE:Int - - ... - - ( - - C_ENUM_MEMBER_CONTRACT_ID:Int - - - C_ENUM_MEMBER_CONTRACT_BAL:Int - - - C_ENUM_MEMBER_CONTRACT_STORAGE:Map - - - C_ENUM_MEMBER_CONTRACT_NONCE:Int - - ... - - ACCOUNTS_REST:AccountCellMap ) ) - - ... - - - ... - - - true - - - - - NCL:Int - - - NOG:Int - - - true - - - EXPECTEDDEPTH_CELL:Int - - ... - - - - true - - - EXPECTEDDEPTH_CELL:Int - - ... - - - - false - - ... - - - - false - - - .List - - - false - - - .List - - - - .MockCallCellMap - - - .MockFunctionCellMap - - ... - - - - false - - - false - - - false - - - false - - - false - - - .List - - - - requires ( _ACTIVE_CELL:Bool - andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _NEWORIGIN_CELL:Account ==K NOG:Int - andBool ( _ISREVERTEXPECTED_CELL:Bool - andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( 0 <=Int CALLER_ID:Int - andBool ( 0 <=Int C_ENUM_ID:Int - andBool ( 0 <=Int ORIGIN_ID:Int - andBool ( 0 <=Int C_ENUM_BAL:Int - andBool ( 0 <=Int C_ENUM_NONCE:Int - andBool ( pow24 - C_ENUM_ID:Int - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) - andBool ( ( notBool - C_ENUM_MEMBER_CONTRACT_ID:Int - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) - andBool ( ( notBool #range ( 0 < CALLER_ID:Int <= 10 ) ) - andBool ( ( notBool #range ( 0 < C_ENUM_ID:Int <= 10 ) ) - andBool ( ( notBool #range ( 0 < ORIGIN_ID:Int <= 10 ) ) - andBool ( ( notBool #range ( 0 < C_ENUM_MEMBER_CONTRACT_ID:Int <= 10 ) ) - )))))))))))))))))))))))))))))))))))))))) - [priority(20), label(BASIC-BLOCK-22-TO-41)] - - rule [BASIC-BLOCK-23-TO-42]: - - - ( #next [ STATICCALL ] ~> .K => #checkBalanceUnderflow NCL:Int 0 - ~> #checkDepthExceeded - ~> #call NCL:Int C_ENUM_MEMBER_CONTRACT_ID:Int C_ENUM_MEMBER_CONTRACT_ID:Int 0 0 b"h\xaf7\xdf" true - ~> #return 128 32 - ~> #pc [ STATICCALL ] ) - ~> #endPrank - ~> #checkRevert - ~> #updateRevertOutput 128 32 - ~> #execute - ~> _CONTINUATION:K - - - NORMAL - - - CANCUN - - - false - - - - - - NCL:Int - - - CALLER_ID:Int - - - b"c6\xf6\x1e" - - - 0 - - - ( ( 0 => 132 ) : ( ( C_ENUM_MEMBER_CONTRACT_ID:Int => 1756313567 ) : ( ( 128 => C_ENUM_MEMBER_CONTRACT_ID:Int ) : ( ( 4 => 5 ) : ( ( 128 => 67 ) : ( ( 32 => 1664546334 ) : ( ( 132 : ( 1756313567 : ( C_ENUM_MEMBER_CONTRACT_ID:Int : ( 5 : ( 67 : ( 1664546334 : .WordStack ) ) ) ) ) ) => .WordStack ) ) ) ) ) ) ) - - - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\xaf7\xdf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" - - - 0 - - - 0 - - - EXPECTEDDEPTH_CELL:Int - - ... - - - - 0 - - - ( ACCESSEDACCOUNTS_CELL:Set => ACCESSEDACCOUNTS_CELL:Set |Set SetItem ( C_ENUM_MEMBER_CONTRACT_ID:Int ) ) - - ... - - - ORIGIN_ID:Int - - - - NUMBER_CELL:Int - - - TIMESTAMP_CELL:Int - - ... - - ... - - - - 1 - - - ( - - C_ENUM_ID:Int - - - C_ENUM_BAL:Int - - - ( ( 0 |-> C_ENUM_MEMBER_CONTRACT_ID:Int ) - C_ENUM_STORAGE:Map ) - - - C_ENUM_NONCE:Int - - ... - - ( - - C_ENUM_MEMBER_CONTRACT_ID:Int - - - C_ENUM_MEMBER_CONTRACT_BAL:Int - - - C_ENUM_MEMBER_CONTRACT_STORAGE:Map - - - C_ENUM_MEMBER_CONTRACT_NONCE:Int - - ... - - ACCOUNTS_REST:AccountCellMap ) ) - - ... - - - ... - - - true - - - - - NCL:Int - - - .Account - - - true - - - EXPECTEDDEPTH_CELL:Int - - ... - - - - true - - - EXPECTEDDEPTH_CELL:Int - - ... - - - - false - - ... - - - - false - - - .List - - - false - - - .List - - - - .MockCallCellMap - - - .MockFunctionCellMap - - ... - - - - false - - - false - - - false - - - false - - - false - - - .List - - - - requires ( _ACTIVE_CELL:Bool - andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _ISREVERTEXPECTED_CELL:Bool - andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( _NEWORIGIN_CELL:Account ==K .Account - andBool ( 0 <=Int CALLER_ID:Int - andBool ( 0 <=Int C_ENUM_ID:Int - andBool ( 0 <=Int ORIGIN_ID:Int - andBool ( 0 <=Int C_ENUM_BAL:Int - andBool ( 0 <=Int C_ENUM_NONCE:Int - andBool ( pow24 - C_ENUM_ID:Int - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) - andBool ( ( notBool - C_ENUM_MEMBER_CONTRACT_ID:Int - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) - andBool ( ( notBool #range ( 0 < CALLER_ID:Int <= 10 ) ) - andBool ( ( notBool #range ( 0 < C_ENUM_ID:Int <= 10 ) ) - andBool ( ( notBool #range ( 0 < ORIGIN_ID:Int <= 10 ) ) - andBool ( ( notBool #range ( 0 < C_ENUM_MEMBER_CONTRACT_ID:Int <= 10 ) ) - )))))))))))))))))))))))))))))))))))))))) - [priority(20), label(BASIC-BLOCK-23-TO-42)] +┃ │ (1242 steps) +┃ ├─ 6 (terminal) +┃ │ k: #halt ~> CONTINUATION:K +┃ │ pc: 68 +┃ │ callDepth: CALLDEPTH_CELL:Int +┃ │ statusCode: EVMC_SUCCESS +┃ │ src: test/nested/SimpleNested.t.sol:7:11 +┃ │ method: test%Enum.enum_storage_range() +┃ │ +┃ ┊ constraint: +┃ ┊ ( notBool 0 in_keys ( C_ENUM_STORAGE:Map ) ) +┃ ┊ ( notBool + C_ENUM_ID:Int + in_keys ( ACCOUNTS_REST:AccountCellMap ) ) +┃ ┊ ( notBool + C_ENUM_MEMBER_CONTRACT_ID:Int + in_keys ( ACCOUNTS_REST:AccountCellMap ) ) +┃ ┊ ( notBool C_ENUM_ID:Int ==Int C_ENUM_MEMBER_CONTRACT_ID:Int ) +┃ ┊ subst: ... +┃ └─ 2 (leaf, target, terminal) +┃ k: #halt ~> CONTINUATION:K +┃ pc: PC_CELL_5d410f2a:Int +┃ callDepth: CALLDEPTH_CELL_5d410f2a:Int +┃ statusCode: STATUSCODE_FINAL:StatusCode +┃ +┗━━┓ subst: .Subst + ┃ constraint: + ┃ 1024 <=Int CALLDEPTH_CELL:Int + │ + ├─ 9 + │ k: #execute ~> CONTINUATION:K + │ pc: 0 + │ callDepth: CALLDEPTH_CELL:Int + │ statusCode: STATUSCODE:StatusCode + │ src: test/nested/SimpleNested.t.sol:7:11 + │ method: test%Enum.enum_storage_range() + │ + │ (348 steps) + ├─ 7 (terminal) + │ k: #halt ~> CONTINUATION:K + │ pc: 161 + │ callDepth: CALLDEPTH_CELL:Int + │ statusCode: EVMC_REVERT + │ src: test/nested/SimpleNested.t.sol:7:11 + │ method: test%Enum.enum_storage_range() + │ + ┊ constraint: + ┊ ( notBool 0 in_keys ( C_ENUM_STORAGE:Map ) ) + ┊ ( notBool + C_ENUM_ID:Int + in_keys ( ACCOUNTS_REST:AccountCellMap ) ) + ┊ ( notBool + C_ENUM_MEMBER_CONTRACT_ID:Int + in_keys ( ACCOUNTS_REST:AccountCellMap ) ) + ┊ ( notBool C_ENUM_ID:Int ==Int C_ENUM_MEMBER_CONTRACT_ID:Int ) + ┊ subst: ... + └─ 2 (leaf, target, terminal) + k: #halt ~> CONTINUATION:K + pc: PC_CELL_5d410f2a:Int + callDepth: CALLDEPTH_CELL_5d410f2a:Int + statusCode: STATUSCODE_FINAL:StatusCode + + + + +module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 - rule [BASIC-BLOCK-26-TO-48]: - - - ( #next [ STATICCALL ] ~> .K => #injectPrank - ~> #next [ STATICCALL ] - ~> #endPrank ) - ~> #checkRevert - ~> #updateRevertOutput 128 32 - ~> #execute - ~> _CONTINUATION:K - - - NORMAL - - - CANCUN - - - false - - - - - - C_ENUM_ID:Int - - - CALLER_ID:Int - - - b"c6\xf6\x1e" - - - 0 - - - ( 0 : ( C_ENUM_MEMBER_CONTRACT_ID:Int : ( 128 : ( 4 : ( 128 : ( 32 : ( 132 : ( 1756313567 : ( C_ENUM_MEMBER_CONTRACT_ID:Int : ( 5 : ( 67 : ( 1664546334 : .WordStack ) ) ) ) ) ) ) ) ) ) ) ) - - - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\xaf7\xdf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" - - - 0 - - - 0 - - - EXPECTEDDEPTH_CELL:Int - - ... - - - - 0 - - ... - - - ORIGIN_ID:Int - - - - NUMBER_CELL:Int - - - TIMESTAMP_CELL:Int - - ... - - ... - - - - 1 - - - ( - - C_ENUM_ID:Int - - - C_ENUM_BAL:Int - - - ( ( 0 |-> C_ENUM_MEMBER_CONTRACT_ID:Int ) - C_ENUM_STORAGE:Map ) - - - C_ENUM_NONCE:Int - - ... - - ( - - C_ENUM_MEMBER_CONTRACT_ID:Int - - - C_ENUM_MEMBER_CONTRACT_BAL:Int - - - C_ENUM_MEMBER_CONTRACT_STORAGE:Map - - - C_ENUM_MEMBER_CONTRACT_NONCE:Int - - ... - - ACCOUNTS_REST:AccountCellMap ) ) - - ... - - - ... - - - true - - - - - NEWCALLER_CELL:Account - - - ( ACTIVE_CELL:Bool => true ) - - - ( DEPTH_CELL:Int => EXPECTEDDEPTH_CELL:Int ) - - ... - - - - true - - - EXPECTEDDEPTH_CELL:Int - - ... - - - - false - - ... - - - - false - - - .List - - - false - - - .List - - - - .MockCallCellMap - - - .MockFunctionCellMap - - ... - - - - false - - - false - - - false - - - false - - - false - - - .List - - - - requires ( ACTIVE_CELL:Bool - andBool ( _ISREVERTEXPECTED_CELL:Bool - andBool ( DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( 0 <=Int CALLER_ID:Int - andBool ( 0 <=Int C_ENUM_ID:Int - andBool ( 0 <=Int ORIGIN_ID:Int - andBool ( 0 <=Int C_ENUM_BAL:Int - andBool ( 0 <=Int C_ENUM_NONCE:Int - andBool ( NEWCALLER_CELL:Account =/=K C_ENUM_ID:Int - andBool ( C_ENUM_ID:Int =/=Int C_ENUM_MEMBER_CONTRACT_ID:Int - andBool ( pow24 - C_ENUM_ID:Int - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) - andBool ( ( notBool - C_ENUM_MEMBER_CONTRACT_ID:Int - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) - andBool ( ( notBool #range ( 0 < CALLER_ID:Int <= 10 ) ) - andBool ( ( notBool #range ( 0 < C_ENUM_ID:Int <= 10 ) ) - andBool ( ( notBool #range ( 0 < ORIGIN_ID:Int <= 10 ) ) - andBool ( ( notBool #range ( 0 < C_ENUM_MEMBER_CONTRACT_ID:Int <= 10 ) ) - )))))))))))))))))))))))))))))))))))))) - ensures NEWCALLER_CELL:Account ~> .K =/=K C_ENUM_ID:Int ~> .K - [priority(20), label(BASIC-BLOCK-26-TO-48)] - rule [BASIC-BLOCK-51-TO-39]: + rule [BASIC-BLOCK-8-TO-6]: - ( #addr [ STATICCALL ] - ~> #exec [ STATICCALL ] - ~> #pc [ STATICCALL ] - ~> #execute => #halt ~> .K ) + ( #execute => #halt ) ~> _CONTINUATION:K @@ -2650,10 +128,10 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 0 - ( ( 0 => 1664546334 ) : ( ( C_ENUM_MEMBER_CONTRACT_ID:Int : ( 128 : ( 4 : ( 128 : ( 32 : ( 132 : ( 1756313567 : ( C_ENUM_MEMBER_CONTRACT_ID:Int : ( 5 : ( 67 : ( 1664546334 : .WordStack ) ) ) ) ) ) ) ) ) ) ) => .WordStack ) ) + ( .WordStack => ( 1664546334 : .WordStack ) ) - ( b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\xaf7\xdf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #buf ( 32 , #lookup ( C_ENUM_MEMBER_CONTRACT_STORAGE:Map , 1 ) ) +Bytes #buf ( 32 , #lookup ( C_ENUM_MEMBER_CONTRACT_STORAGE:Map , 1 ) ) ) + ( b"" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #buf ( 32 , #lookup ( C_ENUM_MEMBER_CONTRACT_STORAGE:Map , 1 ) ) +Bytes #buf ( 32 , #lookup ( C_ENUM_MEMBER_CONTRACT_STORAGE:Map , 1 ) ) ) 0 @@ -2737,24 +215,15 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 - - NEWCALLER_CELL:Account - - ACTIVE_CELL:Bool + false - - DEPTH_CELL:Int - ... - ISREVERTEXPECTED_CELL:Bool + false - - EXPECTEDDEPTH_CELL:Int - ... @@ -2812,6 +281,7 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 andBool ( 0 <=Int C_ENUM_BAL:Int andBool ( 0 <=Int C_ENUM_NONCE:Int andBool ( CALLDEPTH_CELL:Int C_ENUM_ID:Int in_keys ( ACCOUNTS_REST:AccountCellMap ) ) andBool ( ( notBool C_ENUM_MEMBER_CONTRACT_ID:Int in_keys ( ACCOUNTS_REST:AccountCellMap ) ) + andBool ( #lookup ( C_ENUM_MEMBER_CONTRACT_STORAGE:Map , 1 ) + rule [BASIC-BLOCK-9-TO-7]: - ( #addr [ STATICCALL ] - ~> #exec [ STATICCALL ] - ~> #pc [ STATICCALL ] - ~> #execute => #halt ~> .K ) + ( #execute => #halt ) ~> _CONTINUATION:K @@ -2889,10 +353,10 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 0 - ( ( 0 => 1 ) : ( ( C_ENUM_MEMBER_CONTRACT_ID:Int => 132 ) : ( ( 128 => 1756313567 ) : ( ( 4 => C_ENUM_MEMBER_CONTRACT_ID:Int ) : ( ( 128 => 5 ) : ( ( 32 => 67 ) : ( ( 132 => 1664546334 ) : ( ( 1756313567 : ( C_ENUM_MEMBER_CONTRACT_ID:Int : ( 5 : ( 67 : ( 1664546334 : .WordStack ) ) ) ) ) => .WordStack ) ) ) ) ) ) ) ) + ( .WordStack => ( 1 : ( 132 : ( 1756313567 : ( C_ENUM_MEMBER_CONTRACT_ID:Int : ( 5 : ( 67 : ( 1664546334 : .WordStack ) ) ) ) ) ) ) ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\xaf7\xdf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + ( b"" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\xaf7\xdf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" ) 0 @@ -2976,24 +440,15 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 - - NEWCALLER_CELL:Account - - ACTIVE_CELL:Bool + false - - DEPTH_CELL:Int - ... - ISREVERTEXPECTED_CELL:Bool + false - - EXPECTEDDEPTH_CELL:Int - ... @@ -3050,6 +505,7 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 andBool ( 0 <=Int ORIGIN_ID:Int andBool ( 0 <=Int C_ENUM_BAL:Int andBool ( 0 <=Int C_ENUM_NONCE:Int + andBool ( C_ENUM_ID:Int =/=Int C_ENUM_MEMBER_CONTRACT_ID:Int andBool ( 1024 <=Int CALLDEPTH_CELL:Int andBool ( pow24 C_ENUM_ID:Int in_keys ( ACCOUNTS_REST:AccountCellMap ) ) andBool ( ( notBool C_ENUM_MEMBER_CONTRACT_ID:Int in_keys ( ACCOUNTS_REST:AccountCellMap ) ) + andBool ( #lookup ( C_ENUM_MEMBER_CONTRACT_STORAGE:Map , 1 ) + + + false + + ... + + + + false + + ... + false diff --git a/src/tests/integration/test-data/show/Identity.applyOp(uint256).cse.expected b/src/tests/integration/test-data/show/Identity.applyOp(uint256).cse.expected index 3ca4350b5..8f2add821 100644 --- a/src/tests/integration/test-data/show/Identity.applyOp(uint256).cse.expected +++ b/src/tests/integration/test-data/show/Identity.applyOp(uint256).cse.expected @@ -1,2316 +1,87 @@ -┌─ 1 (root, init) +┌─ 1 (root, split, init) │ k: #execute ~> CONTINUATION:K │ pc: 0 │ callDepth: CALLDEPTH_CELL:Int │ statusCode: STATUSCODE:StatusCode │ src: test/nested/SimpleNested.t.sol:7:11 │ method: src%cse%Identity.applyOp(uint256) -│ -│ (359 steps) -├─ 3 -│ k: #next [ STATICCALL ] ~> #execute ~> CONTINUATION:K -│ pc: 148 -│ callDepth: CALLDEPTH_CELL:Int -│ statusCode: STATUSCODE:StatusCode -│ src: test/nested/SimpleNested.t.sol:7:11 -│ method: src%cse%Identity.applyOp(uint256) -┃ -┃ (1 step) -┣━━┓ -┃ │ -┃ ├─ 4 (split) -┃ │ k: #next [ STATICCALL ] ~> #checkRevert ~> #updateRevertOutput 128 32 ~> #execute ~ ... -┃ │ pc: 148 -┃ │ callDepth: EXPECTEDDEPTH_CELL:Int -┃ │ statusCode: STATUSCODE:StatusCode -┃ │ src: test/nested/SimpleNested.t.sol:7:11 -┃ │ method: src%cse%Identity.applyOp(uint256) -┃ ┃ -┃ ┃ (branch) -┃ ┣━━┓ subst: .Subst -┃ ┃ ┃ constraint: -┃ ┃ ┃ ACTIVE_CELL:Bool -┃ ┃ ┃ DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int -┃ ┃ ┃ ( notBool NEWCALLER_CELL:Account ==K C_IDENTITY_ID:Int ) -┃ ┃ │ -┃ ┃ ├─ 7 -┃ ┃ │ k: #next [ STATICCALL ] ~> #checkRevert ~> #updateRevertOutput 128 32 ~> #execute ~ ... -┃ ┃ │ pc: 148 -┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int -┃ ┃ │ statusCode: STATUSCODE:StatusCode -┃ ┃ │ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ │ method: src%cse%Identity.applyOp(uint256) -┃ ┃ │ -┃ ┃ │ (1 step) -┃ ┃ ├─ 13 -┃ ┃ │ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateReve ... -┃ ┃ │ pc: 148 -┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int -┃ ┃ │ statusCode: STATUSCODE:StatusCode -┃ ┃ │ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ │ method: src%cse%Identity.applyOp(uint256) -┃ ┃ ┃ -┃ ┃ ┃ (1 step) -┃ ┃ ┣━━┓ -┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 22 -┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 128 32 ... -┃ ┃ ┃ │ pc: 148 -┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int -┃ ┃ ┃ │ statusCode: STATUSCODE:StatusCode -┃ ┃ ┃ │ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ ┃ │ method: src%cse%Identity.applyOp(uint256) -┃ ┃ ┃ │ -┃ ┃ ┃ │ (7 steps) -┃ ┃ ┃ └─ 39 (leaf, pending) -┃ ┃ ┃ k: #checkBalanceUnderflow NCL:Int 0 ~> #checkDepthExceeded ~> #call NCL:Int C_IDENT ... -┃ ┃ ┃ pc: 148 -┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int -┃ ┃ ┃ statusCode: STATUSCODE:StatusCode -┃ ┃ ┃ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ ┃ method: src%cse%Identity.applyOp(uint256) -┃ ┃ ┃ -┃ ┃ ┣━━┓ -┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 23 -┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 128 32 ... -┃ ┃ ┃ │ pc: 148 -┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int -┃ ┃ ┃ │ statusCode: STATUSCODE:StatusCode -┃ ┃ ┃ │ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ ┃ │ method: src%cse%Identity.applyOp(uint256) -┃ ┃ ┃ │ -┃ ┃ ┃ │ (7 steps) -┃ ┃ ┃ └─ 40 (leaf, pending) -┃ ┃ ┃ k: #checkBalanceUnderflow NCL:Int 0 ~> #checkDepthExceeded ~> #call NCL:Int C_IDENT ... -┃ ┃ ┃ pc: 148 -┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int -┃ ┃ ┃ statusCode: STATUSCODE:StatusCode -┃ ┃ ┃ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ ┃ method: src%cse%Identity.applyOp(uint256) -┃ ┃ ┃ -┃ ┃ ┗━━┓ -┃ ┃ │ -┃ ┃ ├─ 24 -┃ ┃ │ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateReve ... -┃ ┃ │ pc: 148 -┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int -┃ ┃ │ statusCode: STATUSCODE:StatusCode -┃ ┃ │ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ │ method: src%cse%Identity.applyOp(uint256) -┃ ┃ ┃ -┃ ┃ ┃ (1 step) -┃ ┃ ┣━━┓ -┃ ┃ ┃ │ -┃ ┃ ┃ └─ 41 (leaf, pending) -┃ ┃ ┃ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 128 32 ... -┃ ┃ ┃ pc: 148 -┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int -┃ ┃ ┃ statusCode: STATUSCODE:StatusCode -┃ ┃ ┃ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ ┃ method: src%cse%Identity.applyOp(uint256) -┃ ┃ ┃ -┃ ┃ ┗━━┓ -┃ ┃ │ -┃ ┃ └─ 42 (leaf, pending) -┃ ┃ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateReve ... -┃ ┃ pc: 148 -┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int -┃ ┃ statusCode: STATUSCODE:StatusCode -┃ ┃ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ method: src%cse%Identity.applyOp(uint256) -┃ ┃ -┃ ┣━━┓ subst: .Subst -┃ ┃ ┃ constraint: -┃ ┃ ┃ ACTIVE_CELL:Bool -┃ ┃ ┃ DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int -┃ ┃ ┃ ( notBool NEWCALLER_CELL:Account ==K C_IDENTITY_ID:Int ) -┃ ┃ │ -┃ ┃ ├─ 14 -┃ ┃ │ k: #next [ STATICCALL ] ~> #checkRevert ~> #updateRevertOutput 128 32 ~> #execute ~ ... -┃ ┃ │ pc: 148 -┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int -┃ ┃ │ statusCode: STATUSCODE:StatusCode -┃ ┃ │ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ │ method: src%cse%Identity.applyOp(uint256) -┃ ┃ │ -┃ ┃ │ (1 step) -┃ ┃ ├─ 25 -┃ ┃ │ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateReve ... -┃ ┃ │ pc: 148 -┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int -┃ ┃ │ statusCode: STATUSCODE:StatusCode -┃ ┃ │ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ │ method: src%cse%Identity.applyOp(uint256) -┃ ┃ ┃ -┃ ┃ ┃ (1 step) -┃ ┃ ┣━━┓ -┃ ┃ ┃ │ -┃ ┃ ┃ └─ 43 (leaf, pending) -┃ ┃ ┃ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 128 32 ... -┃ ┃ ┃ pc: 148 -┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int -┃ ┃ ┃ statusCode: STATUSCODE:StatusCode -┃ ┃ ┃ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ ┃ method: src%cse%Identity.applyOp(uint256) -┃ ┃ ┃ -┃ ┃ ┣━━┓ -┃ ┃ ┃ │ -┃ ┃ ┃ └─ 44 (leaf, pending) -┃ ┃ ┃ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 128 32 ... -┃ ┃ ┃ pc: 148 -┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int -┃ ┃ ┃ statusCode: STATUSCODE:StatusCode -┃ ┃ ┃ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ ┃ method: src%cse%Identity.applyOp(uint256) -┃ ┃ ┃ -┃ ┃ ┗━━┓ -┃ ┃ │ -┃ ┃ └─ 45 (leaf, pending) -┃ ┃ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateReve ... -┃ ┃ pc: 148 -┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int -┃ ┃ statusCode: STATUSCODE:StatusCode -┃ ┃ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ method: src%cse%Identity.applyOp(uint256) -┃ ┃ -┃ ┣━━┓ subst: .Subst -┃ ┃ ┃ constraint: -┃ ┃ ┃ ACTIVE_CELL:Bool -┃ ┃ ┃ DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int -┃ ┃ ┃ ( notBool NEWCALLER_CELL:Account ==K C_IDENTITY_ID:Int ) -┃ ┃ │ -┃ ┃ ├─ 26 -┃ ┃ │ k: #next [ STATICCALL ] ~> #checkRevert ~> #updateRevertOutput 128 32 ~> #execute ~ ... -┃ ┃ │ pc: 148 -┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int -┃ ┃ │ statusCode: STATUSCODE:StatusCode -┃ ┃ │ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ │ method: src%cse%Identity.applyOp(uint256) -┃ ┃ │ -┃ ┃ │ (1 step) -┃ ┃ └─ 46 (leaf, pending) -┃ ┃ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateReve ... -┃ ┃ pc: 148 -┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int -┃ ┃ statusCode: STATUSCODE:StatusCode -┃ ┃ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ method: src%cse%Identity.applyOp(uint256) -┃ ┃ -┃ ┣━━┓ subst: .Subst -┃ ┃ ┃ constraint: -┃ ┃ ┃ ACTIVE_CELL:Bool -┃ ┃ ┃ DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int -┃ ┃ ┃ ( notBool NEWCALLER_CELL:Account ==K C_IDENTITY_ID:Int ) -┃ ┃ │ -┃ ┃ └─ 47 (leaf, pending) -┃ ┃ k: #next [ STATICCALL ] ~> #checkRevert ~> #updateRevertOutput 128 32 ~> #execute ~ ... -┃ ┃ pc: 148 -┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int -┃ ┃ statusCode: STATUSCODE:StatusCode -┃ ┃ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ method: src%cse%Identity.applyOp(uint256) -┃ ┃ -┃ ┗━━┓ subst: .Subst -┃ ┃ constraint: true -┃ │ -┃ └─ 48 (leaf, pending) -┃ k: #next [ STATICCALL ] ~> #checkRevert ~> #updateRevertOutput 128 32 ~> #execute ~ ... -┃ pc: 148 -┃ callDepth: EXPECTEDDEPTH_CELL:Int -┃ statusCode: STATUSCODE:StatusCode -┃ src: test/nested/SimpleNested.t.sol:7:11 -┃ method: src%cse%Identity.applyOp(uint256) -┃ -┣━━┓ -┃ │ -┃ ├─ 5 -┃ │ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K -┃ │ pc: 148 -┃ │ callDepth: DEPTH_CELL:Int -┃ │ statusCode: STATUSCODE:StatusCode -┃ │ src: test/nested/SimpleNested.t.sol:7:11 -┃ │ method: src%cse%Identity.applyOp(uint256) -┃ ┃ -┃ ┃ (1 step) -┃ ┣━━┓ -┃ ┃ │ -┃ ┃ ├─ 9 -┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K -┃ ┃ │ pc: 148 -┃ ┃ │ callDepth: DEPTH_CELL:Int -┃ ┃ │ statusCode: STATUSCODE:StatusCode -┃ ┃ │ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ │ method: src%cse%Identity.applyOp(uint256) -┃ ┃ │ -┃ ┃ │ (7 steps) -┃ ┃ ├─ 16 -┃ ┃ │ k: #checkBalanceUnderflow NCL:Int 0 ~> #checkDepthExceeded ~> #call NCL:Int C_IDENT ... -┃ ┃ │ pc: 148 -┃ ┃ │ callDepth: DEPTH_CELL:Int -┃ ┃ │ statusCode: STATUSCODE:StatusCode -┃ ┃ │ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ │ method: src%cse%Identity.applyOp(uint256) -┃ ┃ ┃ -┃ ┃ ┃ (1 step) -┃ ┃ ┣━━┓ -┃ ┃ ┃ │ -┃ ┃ ┃ └─ 28 (leaf, pending) -┃ ┃ ┃ k: #refund 0 ~> #pushCallStack ~> #pushWorldState ~> #end EVMC_BALANCE_UNDERFLOW ~> ... -┃ ┃ ┃ pc: 148 -┃ ┃ ┃ callDepth: DEPTH_CELL:Int -┃ ┃ ┃ statusCode: STATUSCODE:StatusCode -┃ ┃ ┃ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ ┃ method: src%cse%Identity.applyOp(uint256) -┃ ┃ ┃ -┃ ┃ ┣━━┓ -┃ ┃ ┃ │ -┃ ┃ ┃ └─ 29 (leaf, pending) -┃ ┃ ┃ k: #checkDepthExceeded ~> #call NCL:Int C_IDENTITY_ID:Int C_IDENTITY_ID:Int 0 0 b"\ ... -┃ ┃ ┃ pc: 148 -┃ ┃ ┃ callDepth: DEPTH_CELL:Int -┃ ┃ ┃ statusCode: STATUSCODE:StatusCode -┃ ┃ ┃ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ ┃ method: src%cse%Identity.applyOp(uint256) -┃ ┃ ┃ -┃ ┃ ┗━━┓ -┃ ┃ │ -┃ ┃ └─ 30 (leaf, pending) -┃ ┃ k: #checkBalanceUnderflow NCL:Int 0 ~> #checkDepthExceeded ~> #call NCL:Int C_IDENT ... -┃ ┃ pc: 148 -┃ ┃ callDepth: DEPTH_CELL:Int -┃ ┃ statusCode: STATUSCODE:StatusCode -┃ ┃ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ method: src%cse%Identity.applyOp(uint256) -┃ ┃ -┃ ┣━━┓ -┃ ┃ │ -┃ ┃ ├─ 10 -┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K -┃ ┃ │ pc: 148 -┃ ┃ │ callDepth: DEPTH_CELL:Int -┃ ┃ │ statusCode: STATUSCODE:StatusCode -┃ ┃ │ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ │ method: src%cse%Identity.applyOp(uint256) -┃ ┃ │ -┃ ┃ │ (7 steps) -┃ ┃ ├─ 17 -┃ ┃ │ k: #checkBalanceUnderflow NCL:Int 0 ~> #checkDepthExceeded ~> #call NCL:Int C_IDENT ... -┃ ┃ │ pc: 148 -┃ ┃ │ callDepth: DEPTH_CELL:Int -┃ ┃ │ statusCode: STATUSCODE:StatusCode -┃ ┃ │ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ │ method: src%cse%Identity.applyOp(uint256) -┃ ┃ ┃ -┃ ┃ ┃ (1 step) -┃ ┃ ┣━━┓ -┃ ┃ ┃ │ -┃ ┃ ┃ └─ 31 (leaf, pending) -┃ ┃ ┃ k: #refund 0 ~> #pushCallStack ~> #pushWorldState ~> #end EVMC_BALANCE_UNDERFLOW ~> ... -┃ ┃ ┃ pc: 148 -┃ ┃ ┃ callDepth: DEPTH_CELL:Int -┃ ┃ ┃ statusCode: STATUSCODE:StatusCode -┃ ┃ ┃ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ ┃ method: src%cse%Identity.applyOp(uint256) -┃ ┃ ┃ -┃ ┃ ┣━━┓ -┃ ┃ ┃ │ -┃ ┃ ┃ └─ 32 (leaf, pending) -┃ ┃ ┃ k: #checkDepthExceeded ~> #call NCL:Int C_IDENTITY_ID:Int C_IDENTITY_ID:Int 0 0 b"\ ... -┃ ┃ ┃ pc: 148 -┃ ┃ ┃ callDepth: DEPTH_CELL:Int -┃ ┃ ┃ statusCode: STATUSCODE:StatusCode -┃ ┃ ┃ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ ┃ method: src%cse%Identity.applyOp(uint256) -┃ ┃ ┃ -┃ ┃ ┗━━┓ -┃ ┃ │ -┃ ┃ └─ 33 (leaf, pending) -┃ ┃ k: #checkBalanceUnderflow NCL:Int 0 ~> #checkDepthExceeded ~> #call NCL:Int C_IDENT ... -┃ ┃ pc: 148 -┃ ┃ callDepth: DEPTH_CELL:Int -┃ ┃ statusCode: STATUSCODE:StatusCode -┃ ┃ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ method: src%cse%Identity.applyOp(uint256) -┃ ┃ -┃ ┗━━┓ -┃ │ -┃ ├─ 11 -┃ │ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K -┃ │ pc: 148 -┃ │ callDepth: DEPTH_CELL:Int -┃ │ statusCode: STATUSCODE:StatusCode -┃ │ src: test/nested/SimpleNested.t.sol:7:11 -┃ │ method: src%cse%Identity.applyOp(uint256) -┃ ┃ -┃ ┃ (1 step) -┃ ┣━━┓ -┃ ┃ │ -┃ ┃ ├─ 18 -┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K -┃ ┃ │ pc: 148 -┃ ┃ │ callDepth: DEPTH_CELL:Int -┃ ┃ │ statusCode: STATUSCODE:StatusCode -┃ ┃ │ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ │ method: src%cse%Identity.applyOp(uint256) -┃ ┃ │ -┃ ┃ │ (7 steps) -┃ ┃ └─ 34 (leaf, pending) -┃ ┃ k: #checkBalanceUnderflow NCL:Int 0 ~> #checkDepthExceeded ~> #call NCL:Int C_IDENT ... -┃ ┃ pc: 148 -┃ ┃ callDepth: DEPTH_CELL:Int -┃ ┃ statusCode: STATUSCODE:StatusCode -┃ ┃ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ method: src%cse%Identity.applyOp(uint256) -┃ ┃ -┃ ┗━━┓ -┃ │ -┃ ├─ 19 -┃ │ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K -┃ │ pc: 148 -┃ │ callDepth: DEPTH_CELL:Int -┃ │ statusCode: STATUSCODE:StatusCode -┃ │ src: test/nested/SimpleNested.t.sol:7:11 -┃ │ method: src%cse%Identity.applyOp(uint256) -┃ ┃ -┃ ┃ (1 step) -┃ ┣━━┓ -┃ ┃ │ -┃ ┃ └─ 35 (leaf, pending) -┃ ┃ k: #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K -┃ ┃ pc: 148 -┃ ┃ callDepth: DEPTH_CELL:Int -┃ ┃ statusCode: STATUSCODE:StatusCode -┃ ┃ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ method: src%cse%Identity.applyOp(uint256) -┃ ┃ -┃ ┗━━┓ -┃ │ -┃ └─ 36 (leaf, pending) -┃ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K -┃ pc: 148 -┃ callDepth: DEPTH_CELL:Int -┃ statusCode: STATUSCODE:StatusCode -┃ src: test/nested/SimpleNested.t.sol:7:11 -┃ method: src%cse%Identity.applyOp(uint256) -┃ -┗━━┓ - │ - ├─ 6 (split) - │ k: #addr [ STATICCALL ] ~> #exec [ STATICCALL ] ~> #pc [ STATICCALL ] ~> #execute ~ ... - │ pc: 148 - │ callDepth: CALLDEPTH_CELL:Int - │ statusCode: STATUSCODE:StatusCode - │ src: test/nested/SimpleNested.t.sol:7:11 - │ method: src%cse%Identity.applyOp(uint256) - ┃ - ┃ (branch) - ┣━━┓ subst: .Subst - ┃ ┃ constraint: - ┃ ┃ CALLDEPTH_CELL:Int #exec [ STATICCALL ] ~> #pc [ STATICCALL ] ~> #execute ~ ... - ┃ │ pc: 148 - ┃ │ callDepth: CALLDEPTH_CELL:Int - ┃ │ statusCode: STATUSCODE:StatusCode - ┃ │ src: test/nested/SimpleNested.t.sol:7:11 - ┃ │ method: src%cse%Identity.applyOp(uint256) - ┃ │ - ┃ │ (352 steps) - ┃ └─ 37 (leaf, pending) - ┃ k: #halt ~> CONTINUATION:K - ┃ pc: 87 - ┃ callDepth: CALLDEPTH_CELL:Int - ┃ statusCode: EVMC_SUCCESS - ┃ src: test/nested/SimpleNested.t.sol:7:11 - ┃ method: src%cse%Identity.applyOp(uint256) - ┃ - ┗━━┓ subst: .Subst - ┃ constraint: - ┃ 1024 <=Int CALLDEPTH_CELL:Int - │ - ├─ 50 - │ k: #addr [ STATICCALL ] ~> #exec [ STATICCALL ] ~> #pc [ STATICCALL ] ~> #execute ~ ... - │ pc: 148 - │ callDepth: CALLDEPTH_CELL:Int - │ statusCode: STATUSCODE:StatusCode - │ src: test/nested/SimpleNested.t.sol:7:11 - │ method: src%cse%Identity.applyOp(uint256) - │ - │ (83 steps) - └─ 38 (leaf, pending) - k: #halt ~> CONTINUATION:K - pc: 163 - callDepth: CALLDEPTH_CELL:Int - statusCode: EVMC_REVERT - src: test/nested/SimpleNested.t.sol:7:11 - method: src%cse%Identity.applyOp(uint256) - - -┌─ 2 (root, leaf, target, terminal) -│ k: #halt ~> CONTINUATION:K -│ pc: PC_CELL_5d410f2a:Int -│ callDepth: CALLDEPTH_CELL_5d410f2a:Int -│ statusCode: STATUSCODE_FINAL:StatusCode - - - -module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 - - - rule [BASIC-BLOCK-1-TO-3]: - - - ( .K => #next [ STATICCALL ] ~> .K ) - ~> #execute - ~> _CONTINUATION:K - - - NORMAL - - - CANCUN - - - false - - - - - - C_IDENTITY_ID:Int - - - CALLER_ID:Int - - - b"i\xab\xff\xa1" +Bytes #buf ( 32 , KV0_x:Int ) - - - 0 - - - ( .WordStack => ( 0 : ( C_IDENTITY_ID:Int : ( 128 : ( 36 : ( 128 : ( 32 : ( 164 : ( 2889346747 : ( C_IDENTITY_ID:Int : ( 0 : ( KV0_x:Int : ( 70 : ( 1772879777 : .WordStack ) ) ) ) ) ) ) ) ) ) ) ) ) ) - - - ( b"" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xac7\xee\xbb" +Bytes #buf ( 32 , KV0_x:Int ) ) - - - 0 - - - 0 - - ... - - - - 0 - - ... - - - ORIGIN_ID:Int - - - - NUMBER_CELL:Int - - - TIMESTAMP_CELL:Int - - ... - - ... - - - - 1 - - - ( - - C_IDENTITY_ID:Int - - - C_IDENTITY_BAL:Int - - - C_IDENTITY_NONCE:Int - - ... - - ACCOUNTS_REST:AccountCellMap ) - - ... - - - ... - - - true - - - - - false - - ... - - - - false - - - .List - - - false - - - .List - - - - .MockCallCellMap - - - .MockFunctionCellMap - - ... - - - - false - - - false - - - false - - - false - - - false - - - .List - - - - requires ( 0 <=Int KV0_x:Int - andBool ( 0 <=Int CALLER_ID:Int - andBool ( 0 <=Int ORIGIN_ID:Int - andBool ( 0 <=Int C_IDENTITY_ID:Int - andBool ( 0 <=Int C_IDENTITY_BAL:Int - andBool ( 0 <=Int C_IDENTITY_NONCE:Int - andBool ( pow24 - C_IDENTITY_ID:Int - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) - andBool ( ( notBool #range ( 0 < CALLER_ID:Int <= 10 ) ) - andBool ( ( notBool #range ( 0 < ORIGIN_ID:Int <= 10 ) ) - andBool ( ( notBool #range ( 0 < C_IDENTITY_ID:Int <= 10 ) ) - ))))))))))))))))))))))) - [priority(20), label(BASIC-BLOCK-1-TO-3)] - - rule [BASIC-BLOCK-7-TO-13]: - - - ( #next [ STATICCALL ] ~> .K => #injectPrank - ~> #next [ STATICCALL ] - ~> #endPrank ) - ~> #checkRevert - ~> #updateRevertOutput 128 32 - ~> #execute - ~> _CONTINUATION:K - - - NORMAL - - - CANCUN - - - false - - - - - - C_IDENTITY_ID:Int - - - CALLER_ID:Int - - - b"i\xab\xff\xa1" +Bytes #buf ( 32 , KV0_x:Int ) - - - 0 - - - ( 0 : ( C_IDENTITY_ID:Int : ( 128 : ( 36 : ( 128 : ( 32 : ( 164 : ( 2889346747 : ( C_IDENTITY_ID:Int : ( 0 : ( KV0_x:Int : ( 70 : ( 1772879777 : .WordStack ) ) ) ) ) ) ) ) ) ) ) ) ) - - - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xac7\xee\xbb" +Bytes #buf ( 32 , KV0_x:Int ) - - - 0 - - - 0 - - - EXPECTEDDEPTH_CELL:Int - - ... - - - - 0 - - ... - - - ORIGIN_ID:Int - - - - NUMBER_CELL:Int - - - TIMESTAMP_CELL:Int - - ... - - ... - - - - 1 - - - ( - - C_IDENTITY_ID:Int - - - C_IDENTITY_BAL:Int - - - C_IDENTITY_NONCE:Int - - ... - - ACCOUNTS_REST:AccountCellMap ) - - ... - - - ... - - - true - - - - - NEWCALLER_CELL:Account - - - ( ACTIVE_CELL:Bool => true ) - - - ( DEPTH_CELL:Int => EXPECTEDDEPTH_CELL:Int ) - - ... - - - - true - - - EXPECTEDDEPTH_CELL:Int - - ... - - - - false - - ... - - - - false - - - .List - - - false - - - .List - - - - .MockCallCellMap - - - .MockFunctionCellMap - - ... - - - - false - - - false - - - false - - - false - - - false - - - .List - - - - requires ( ACTIVE_CELL:Bool - andBool ( _ISREVERTEXPECTED_CELL:Bool - andBool ( DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( 0 <=Int KV0_x:Int - andBool ( 0 <=Int CALLER_ID:Int - andBool ( 0 <=Int ORIGIN_ID:Int - andBool ( 0 <=Int C_IDENTITY_ID:Int - andBool ( 0 <=Int C_IDENTITY_BAL:Int - andBool ( 0 <=Int C_IDENTITY_NONCE:Int - andBool ( pow24 - C_IDENTITY_ID:Int - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) - andBool ( ( notBool #range ( 0 < CALLER_ID:Int <= 10 ) ) - andBool ( ( notBool #range ( 0 < ORIGIN_ID:Int <= 10 ) ) - andBool ( ( notBool #range ( 0 < C_IDENTITY_ID:Int <= 10 ) ) - )))))))))))))))))))))))))))) - ensures NEWCALLER_CELL:Account ~> .K =/=K C_IDENTITY_ID:Int ~> .K - [priority(20), label(BASIC-BLOCK-7-TO-13)] - - rule [BASIC-BLOCK-9-TO-16]: - - - ( #next [ STATICCALL ] ~> .K => #checkBalanceUnderflow NCL:Int 0 - ~> #checkDepthExceeded - ~> #call NCL:Int C_IDENTITY_ID:Int C_IDENTITY_ID:Int 0 0 b"\xac7\xee\xbb" +Bytes #buf ( 32 , KV0_x:Int ) true - ~> #return 128 32 - ~> #pc [ STATICCALL ] ) - ~> #endPrank - ~> #execute - ~> _CONTINUATION:K - - - NORMAL - - - CANCUN - - - false - - - - - - NCL:Int - - - CALLER_ID:Int - - - b"i\xab\xff\xa1" +Bytes #buf ( 32 , KV0_x:Int ) - - - 0 - - - ( ( 0 => 164 ) : ( ( C_IDENTITY_ID:Int => 2889346747 ) : ( ( 128 => C_IDENTITY_ID:Int ) : ( ( 36 => 0 ) : ( ( 128 => KV0_x:Int ) : ( ( 32 => 70 ) : ( ( 164 => 1772879777 ) : ( ( 2889346747 : ( C_IDENTITY_ID:Int : ( 0 : ( KV0_x:Int : ( 70 : ( 1772879777 : .WordStack ) ) ) ) ) ) => .WordStack ) ) ) ) ) ) ) ) - - - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xac7\xee\xbb" +Bytes #buf ( 32 , KV0_x:Int ) - - - 0 - - - 0 - - - DEPTH_CELL:Int - - ... - - - - 0 - - - ( ACCESSEDACCOUNTS_CELL:Set => ACCESSEDACCOUNTS_CELL:Set |Set SetItem ( C_IDENTITY_ID:Int ) ) - - ... - - - NOG:Int - - - - NUMBER_CELL:Int - - - TIMESTAMP_CELL:Int - - ... - - ... - - - - 1 - - - ( - - C_IDENTITY_ID:Int - - - C_IDENTITY_BAL:Int - - - C_IDENTITY_NONCE:Int - - ... - - ACCOUNTS_REST:AccountCellMap ) - - ... - - - ... - - - true - - - - - NCL:Int - - - NOG:Int - - - true - - - DEPTH_CELL:Int - - ... - - - - ISREVERTEXPECTED_CELL:Bool - - - EXPECTEDDEPTH_CELL:Int - - ... - - - - false - - ... - - - - false - - - .List - - - false - - - .List - - - - .MockCallCellMap - - - .MockFunctionCellMap - - ... - - - - false - - - false - - - false - - - false - - - false - - - .List - - - - requires ( _ACTIVE_CELL:Bool - andBool ( _CALLDEPTH_CELL:Int ==Int DEPTH_CELL:Int - andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _NEWORIGIN_CELL:Account ==K NOG:Int - andBool ( 0 <=Int KV0_x:Int - andBool ( 0 <=Int CALLER_ID:Int - andBool ( 0 <=Int ORIGIN_ID:Int - andBool ( 0 <=Int C_IDENTITY_ID:Int - andBool ( 0 <=Int C_IDENTITY_BAL:Int - andBool ( 0 <=Int C_IDENTITY_NONCE:Int - andBool ( pow24 - C_IDENTITY_ID:Int - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) - andBool ( ( notBool #range ( 0 < CALLER_ID:Int <= 10 ) ) - andBool ( ( notBool #range ( 0 < ORIGIN_ID:Int <= 10 ) ) - andBool ( ( notBool #range ( 0 < C_IDENTITY_ID:Int <= 10 ) ) - andBool ( ( notBool ( DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ISREVERTEXPECTED_CELL:Bool ) ) - ))))))))))))))))))))))))))))) - [priority(20), label(BASIC-BLOCK-9-TO-16)] - - rule [BASIC-BLOCK-10-TO-17]: - - - ( #next [ STATICCALL ] ~> .K => #checkBalanceUnderflow NCL:Int 0 - ~> #checkDepthExceeded - ~> #call NCL:Int C_IDENTITY_ID:Int C_IDENTITY_ID:Int 0 0 b"\xac7\xee\xbb" +Bytes #buf ( 32 , KV0_x:Int ) true - ~> #return 128 32 - ~> #pc [ STATICCALL ] ) - ~> #endPrank - ~> #execute - ~> _CONTINUATION:K - - - NORMAL - - - CANCUN - - - false - - - - - - NCL:Int - - - CALLER_ID:Int - - - b"i\xab\xff\xa1" +Bytes #buf ( 32 , KV0_x:Int ) - - - 0 - - - ( ( 0 => 164 ) : ( ( C_IDENTITY_ID:Int => 2889346747 ) : ( ( 128 => C_IDENTITY_ID:Int ) : ( ( 36 => 0 ) : ( ( 128 => KV0_x:Int ) : ( ( 32 => 70 ) : ( ( 164 => 1772879777 ) : ( ( 2889346747 : ( C_IDENTITY_ID:Int : ( 0 : ( KV0_x:Int : ( 70 : ( 1772879777 : .WordStack ) ) ) ) ) ) => .WordStack ) ) ) ) ) ) ) ) - - - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xac7\xee\xbb" +Bytes #buf ( 32 , KV0_x:Int ) - - - 0 - - - 0 - - - DEPTH_CELL:Int - - ... - - - - 0 - - - ( ACCESSEDACCOUNTS_CELL:Set => ACCESSEDACCOUNTS_CELL:Set |Set SetItem ( C_IDENTITY_ID:Int ) ) - - ... - - - ORIGIN_ID:Int - - - - NUMBER_CELL:Int - - - TIMESTAMP_CELL:Int - - ... - - ... - - - - 1 - - - ( - - C_IDENTITY_ID:Int - - - C_IDENTITY_BAL:Int - - - C_IDENTITY_NONCE:Int - - ... - - ACCOUNTS_REST:AccountCellMap ) - - ... - - - ... - - - true - - - - - NCL:Int - - - .Account - - - true - - - DEPTH_CELL:Int - - ... - - - - ISREVERTEXPECTED_CELL:Bool - - - EXPECTEDDEPTH_CELL:Int - - ... - - - - false - - ... - - - - false - - - .List - - - false - - - .List - - - - .MockCallCellMap - - - .MockFunctionCellMap - - ... - - - - false - - - false - - - false - - - false - - - false - - - .List - - - - requires ( _ACTIVE_CELL:Bool - andBool ( _CALLDEPTH_CELL:Int ==Int DEPTH_CELL:Int - andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _NEWORIGIN_CELL:Account ==K .Account - andBool ( 0 <=Int KV0_x:Int - andBool ( 0 <=Int CALLER_ID:Int - andBool ( 0 <=Int ORIGIN_ID:Int - andBool ( 0 <=Int C_IDENTITY_ID:Int - andBool ( 0 <=Int C_IDENTITY_BAL:Int - andBool ( 0 <=Int C_IDENTITY_NONCE:Int - andBool ( pow24 - C_IDENTITY_ID:Int - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) - andBool ( ( notBool #range ( 0 < CALLER_ID:Int <= 10 ) ) - andBool ( ( notBool #range ( 0 < ORIGIN_ID:Int <= 10 ) ) - andBool ( ( notBool #range ( 0 < C_IDENTITY_ID:Int <= 10 ) ) - andBool ( ( notBool ( DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ISREVERTEXPECTED_CELL:Bool ) ) - ))))))))))))))))))))))))))))) - [priority(20), label(BASIC-BLOCK-10-TO-17)] - - rule [BASIC-BLOCK-14-TO-25]: - - - ( #next [ STATICCALL ] ~> .K => #injectPrank - ~> #next [ STATICCALL ] - ~> #endPrank ) - ~> #checkRevert - ~> #updateRevertOutput 128 32 - ~> #execute - ~> _CONTINUATION:K - - - NORMAL - - - CANCUN - - - false - - - - - - C_IDENTITY_ID:Int - - - CALLER_ID:Int - - - b"i\xab\xff\xa1" +Bytes #buf ( 32 , KV0_x:Int ) - - - 0 - - - ( 0 : ( C_IDENTITY_ID:Int : ( 128 : ( 36 : ( 128 : ( 32 : ( 164 : ( 2889346747 : ( C_IDENTITY_ID:Int : ( 0 : ( KV0_x:Int : ( 70 : ( 1772879777 : .WordStack ) ) ) ) ) ) ) ) ) ) ) ) ) - - - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xac7\xee\xbb" +Bytes #buf ( 32 , KV0_x:Int ) - - - 0 - - - 0 - - - EXPECTEDDEPTH_CELL:Int - - ... - - - - 0 - - ... - - - ORIGIN_ID:Int - - - - NUMBER_CELL:Int - - - TIMESTAMP_CELL:Int - - ... - - ... - - - - 1 - - - ( - - C_IDENTITY_ID:Int - - - C_IDENTITY_BAL:Int - - - C_IDENTITY_NONCE:Int - - ... - - ACCOUNTS_REST:AccountCellMap ) - - ... - - - ... - - - true - - - - - NEWCALLER_CELL:Account - - - ( ACTIVE_CELL:Bool => true ) - - - ( DEPTH_CELL:Int => EXPECTEDDEPTH_CELL:Int ) - - ... - - - - true - - - EXPECTEDDEPTH_CELL:Int - - ... - - - - false - - ... - - - - false - - - .List - - - false - - - .List - - - - .MockCallCellMap - - - .MockFunctionCellMap - - ... - - - - false - - - false - - - false - - - false - - - false - - - .List - - - - requires ( ACTIVE_CELL:Bool - andBool ( _ISREVERTEXPECTED_CELL:Bool - andBool ( DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( 0 <=Int KV0_x:Int - andBool ( 0 <=Int CALLER_ID:Int - andBool ( 0 <=Int ORIGIN_ID:Int - andBool ( 0 <=Int C_IDENTITY_ID:Int - andBool ( 0 <=Int C_IDENTITY_BAL:Int - andBool ( 0 <=Int C_IDENTITY_NONCE:Int - andBool ( pow24 - C_IDENTITY_ID:Int - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) - andBool ( ( notBool #range ( 0 < CALLER_ID:Int <= 10 ) ) - andBool ( ( notBool #range ( 0 < ORIGIN_ID:Int <= 10 ) ) - andBool ( ( notBool #range ( 0 < C_IDENTITY_ID:Int <= 10 ) ) - )))))))))))))))))))))))))))) - ensures NEWCALLER_CELL:Account ~> .K =/=K C_IDENTITY_ID:Int ~> .K - [priority(20), label(BASIC-BLOCK-14-TO-25)] - - rule [BASIC-BLOCK-18-TO-34]: - - - ( #next [ STATICCALL ] ~> .K => #checkBalanceUnderflow NCL:Int 0 - ~> #checkDepthExceeded - ~> #call NCL:Int C_IDENTITY_ID:Int C_IDENTITY_ID:Int 0 0 b"\xac7\xee\xbb" +Bytes #buf ( 32 , KV0_x:Int ) true - ~> #return 128 32 - ~> #pc [ STATICCALL ] ) - ~> #endPrank - ~> #execute - ~> _CONTINUATION:K - - - NORMAL - - - CANCUN - - - false - - - - - - NCL:Int - - - CALLER_ID:Int - - - b"i\xab\xff\xa1" +Bytes #buf ( 32 , KV0_x:Int ) - - - 0 - - - ( ( 0 => 164 ) : ( ( C_IDENTITY_ID:Int => 2889346747 ) : ( ( 128 => C_IDENTITY_ID:Int ) : ( ( 36 => 0 ) : ( ( 128 => KV0_x:Int ) : ( ( 32 => 70 ) : ( ( 164 => 1772879777 ) : ( ( 2889346747 : ( C_IDENTITY_ID:Int : ( 0 : ( KV0_x:Int : ( 70 : ( 1772879777 : .WordStack ) ) ) ) ) ) => .WordStack ) ) ) ) ) ) ) ) - - - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xac7\xee\xbb" +Bytes #buf ( 32 , KV0_x:Int ) - - - 0 - - - 0 - - - DEPTH_CELL:Int - - ... - - - - 0 - - - ( ACCESSEDACCOUNTS_CELL:Set => ACCESSEDACCOUNTS_CELL:Set |Set SetItem ( C_IDENTITY_ID:Int ) ) - - ... - - - NOG0:Int - - - - NUMBER_CELL:Int - - - TIMESTAMP_CELL:Int - - ... - - ... - - - - 1 - - - ( - - C_IDENTITY_ID:Int - - - C_IDENTITY_BAL:Int - - - C_IDENTITY_NONCE:Int - - ... - - ACCOUNTS_REST:AccountCellMap ) - - ... - - - ... - - - true - - - - - NCL:Int - - - NOG0:Int - - - true - - - DEPTH_CELL:Int - - ... - - - - ISREVERTEXPECTED_CELL:Bool - - - EXPECTEDDEPTH_CELL:Int - - ... - - - - false - - ... - - - - false - - - .List - - - false - - - .List - - - - .MockCallCellMap - - - .MockFunctionCellMap - - ... - - - - false - - - false - - - false - - - false - - - false - - - .List - - - - requires ( _ACTIVE_CELL:Bool - andBool ( _CALLDEPTH_CELL:Int ==Int DEPTH_CELL:Int - andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _NEWORIGIN_CELL:Account ==K NOG0:Int - andBool ( 0 <=Int KV0_x:Int - andBool ( 0 <=Int CALLER_ID:Int - andBool ( 0 <=Int ORIGIN_ID:Int - andBool ( 0 <=Int C_IDENTITY_ID:Int - andBool ( 0 <=Int C_IDENTITY_BAL:Int - andBool ( 0 <=Int C_IDENTITY_NONCE:Int - andBool ( pow24 - C_IDENTITY_ID:Int - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) - andBool ( ( notBool #range ( 0 < CALLER_ID:Int <= 10 ) ) - andBool ( ( notBool #range ( 0 < ORIGIN_ID:Int <= 10 ) ) - andBool ( ( notBool #range ( 0 < C_IDENTITY_ID:Int <= 10 ) ) - andBool ( ( notBool ( DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ISREVERTEXPECTED_CELL:Bool ) ) - )))))))))))))))))))))))))))))) - [priority(20), label(BASIC-BLOCK-18-TO-34)] - - rule [BASIC-BLOCK-22-TO-39]: - - - ( #next [ STATICCALL ] ~> .K => #checkBalanceUnderflow NCL:Int 0 - ~> #checkDepthExceeded - ~> #call NCL:Int C_IDENTITY_ID:Int C_IDENTITY_ID:Int 0 0 b"\xac7\xee\xbb" +Bytes #buf ( 32 , KV0_x:Int ) true - ~> #return 128 32 - ~> #pc [ STATICCALL ] ) - ~> #endPrank - ~> #checkRevert - ~> #updateRevertOutput 128 32 - ~> #execute - ~> _CONTINUATION:K - - - NORMAL - - - CANCUN - - - false - - - - - - NCL:Int - - - CALLER_ID:Int - - - b"i\xab\xff\xa1" +Bytes #buf ( 32 , KV0_x:Int ) - - - 0 - - - ( ( 0 => 164 ) : ( ( C_IDENTITY_ID:Int => 2889346747 ) : ( ( 128 => C_IDENTITY_ID:Int ) : ( ( 36 => 0 ) : ( ( 128 => KV0_x:Int ) : ( ( 32 => 70 ) : ( ( 164 => 1772879777 ) : ( ( 2889346747 : ( C_IDENTITY_ID:Int : ( 0 : ( KV0_x:Int : ( 70 : ( 1772879777 : .WordStack ) ) ) ) ) ) => .WordStack ) ) ) ) ) ) ) ) - - - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xac7\xee\xbb" +Bytes #buf ( 32 , KV0_x:Int ) - - - 0 - - - 0 - - - EXPECTEDDEPTH_CELL:Int - - ... - - - - 0 - - - ( ACCESSEDACCOUNTS_CELL:Set => ACCESSEDACCOUNTS_CELL:Set |Set SetItem ( C_IDENTITY_ID:Int ) ) - - ... - - - NOG:Int - - - - NUMBER_CELL:Int - - - TIMESTAMP_CELL:Int - - ... - - ... - - - - 1 - - - ( - - C_IDENTITY_ID:Int - - - C_IDENTITY_BAL:Int - - - C_IDENTITY_NONCE:Int - - ... - - ACCOUNTS_REST:AccountCellMap ) - - ... - - - ... - - - true - - - - - NCL:Int - - - NOG:Int - - - true - - - EXPECTEDDEPTH_CELL:Int - - ... - - - - true - - - EXPECTEDDEPTH_CELL:Int - - ... - - - - false - - ... - - - - false - - - .List - - - false - - - .List - - - - .MockCallCellMap - - - .MockFunctionCellMap - - ... - - - - false - - - false - - - false - - - false - - - false - - - .List - - - - requires ( _ACTIVE_CELL:Bool - andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _NEWORIGIN_CELL:Account ==K NOG:Int - andBool ( _ISREVERTEXPECTED_CELL:Bool - andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( 0 <=Int KV0_x:Int - andBool ( 0 <=Int CALLER_ID:Int - andBool ( 0 <=Int ORIGIN_ID:Int - andBool ( 0 <=Int C_IDENTITY_ID:Int - andBool ( 0 <=Int C_IDENTITY_BAL:Int - andBool ( 0 <=Int C_IDENTITY_NONCE:Int - andBool ( pow24 - C_IDENTITY_ID:Int - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) - andBool ( ( notBool #range ( 0 < CALLER_ID:Int <= 10 ) ) - andBool ( ( notBool #range ( 0 < ORIGIN_ID:Int <= 10 ) ) - andBool ( ( notBool #range ( 0 < C_IDENTITY_ID:Int <= 10 ) ) - )))))))))))))))))))))))))))))) - [priority(20), label(BASIC-BLOCK-22-TO-39)] - - rule [BASIC-BLOCK-23-TO-40]: - - - ( #next [ STATICCALL ] ~> .K => #checkBalanceUnderflow NCL:Int 0 - ~> #checkDepthExceeded - ~> #call NCL:Int C_IDENTITY_ID:Int C_IDENTITY_ID:Int 0 0 b"\xac7\xee\xbb" +Bytes #buf ( 32 , KV0_x:Int ) true - ~> #return 128 32 - ~> #pc [ STATICCALL ] ) - ~> #endPrank - ~> #checkRevert - ~> #updateRevertOutput 128 32 - ~> #execute - ~> _CONTINUATION:K - - - NORMAL - - - CANCUN - - - false - - - - - - NCL:Int - - - CALLER_ID:Int - - - b"i\xab\xff\xa1" +Bytes #buf ( 32 , KV0_x:Int ) - - - 0 - - - ( ( 0 => 164 ) : ( ( C_IDENTITY_ID:Int => 2889346747 ) : ( ( 128 => C_IDENTITY_ID:Int ) : ( ( 36 => 0 ) : ( ( 128 => KV0_x:Int ) : ( ( 32 => 70 ) : ( ( 164 => 1772879777 ) : ( ( 2889346747 : ( C_IDENTITY_ID:Int : ( 0 : ( KV0_x:Int : ( 70 : ( 1772879777 : .WordStack ) ) ) ) ) ) => .WordStack ) ) ) ) ) ) ) ) - - - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xac7\xee\xbb" +Bytes #buf ( 32 , KV0_x:Int ) - - - 0 - - - 0 - - - EXPECTEDDEPTH_CELL:Int - - ... - - - - 0 - - - ( ACCESSEDACCOUNTS_CELL:Set => ACCESSEDACCOUNTS_CELL:Set |Set SetItem ( C_IDENTITY_ID:Int ) ) - - ... - - - ORIGIN_ID:Int - - - - NUMBER_CELL:Int - - - TIMESTAMP_CELL:Int - - ... - - ... - - - - 1 - - - ( - - C_IDENTITY_ID:Int - - - C_IDENTITY_BAL:Int - - - C_IDENTITY_NONCE:Int - - ... - - ACCOUNTS_REST:AccountCellMap ) - - ... - - - ... - - - true - - - - - NCL:Int - - - .Account - - - true - - - EXPECTEDDEPTH_CELL:Int - - ... - - - - true - - - EXPECTEDDEPTH_CELL:Int - - ... - - - - false - - ... - - - - false - - - .List - - - false - - - .List - - - - .MockCallCellMap - - - .MockFunctionCellMap - - ... - - - - false - - - false - - - false - - - false - - - false - - - .List - - - - requires ( _ACTIVE_CELL:Bool - andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _ISREVERTEXPECTED_CELL:Bool - andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( _NEWORIGIN_CELL:Account ==K .Account - andBool ( 0 <=Int KV0_x:Int - andBool ( 0 <=Int CALLER_ID:Int - andBool ( 0 <=Int ORIGIN_ID:Int - andBool ( 0 <=Int C_IDENTITY_ID:Int - andBool ( 0 <=Int C_IDENTITY_BAL:Int - andBool ( 0 <=Int C_IDENTITY_NONCE:Int - andBool ( pow24 - C_IDENTITY_ID:Int - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) - andBool ( ( notBool #range ( 0 < CALLER_ID:Int <= 10 ) ) - andBool ( ( notBool #range ( 0 < ORIGIN_ID:Int <= 10 ) ) - andBool ( ( notBool #range ( 0 < C_IDENTITY_ID:Int <= 10 ) ) - )))))))))))))))))))))))))))))) - [priority(20), label(BASIC-BLOCK-23-TO-40)] +┃ +┃ (branch) +┣━━┓ subst: .Subst +┃ ┃ constraint: +┃ ┃ CALLDEPTH_CELL:Int CONTINUATION:K +┃ │ pc: 0 +┃ │ callDepth: CALLDEPTH_CELL:Int +┃ │ statusCode: STATUSCODE:StatusCode +┃ │ src: test/nested/SimpleNested.t.sol:7:11 +┃ │ method: src%cse%Identity.applyOp(uint256) +┃ │ +┃ │ (712 steps) +┃ ├─ 6 (terminal) +┃ │ k: #halt ~> CONTINUATION:K +┃ │ pc: 87 +┃ │ callDepth: CALLDEPTH_CELL:Int +┃ │ statusCode: EVMC_SUCCESS +┃ │ src: test/nested/SimpleNested.t.sol:7:11 +┃ │ method: src%cse%Identity.applyOp(uint256) +┃ │ +┃ ┊ constraint: +┃ ┊ ( notBool + C_IDENTITY_ID:Int + in_keys ( ACCOUNTS_REST:AccountCellMap ) ) +┃ ┊ subst: ... +┃ └─ 2 (leaf, target, terminal) +┃ k: #halt ~> CONTINUATION:K +┃ pc: PC_CELL_5d410f2a:Int +┃ callDepth: CALLDEPTH_CELL_5d410f2a:Int +┃ statusCode: STATUSCODE_FINAL:StatusCode +┃ +┗━━┓ subst: .Subst + ┃ constraint: + ┃ 1024 <=Int CALLDEPTH_CELL:Int + │ + ├─ 9 + │ k: #execute ~> CONTINUATION:K + │ pc: 0 + │ callDepth: CALLDEPTH_CELL:Int + │ statusCode: STATUSCODE:StatusCode + │ src: test/nested/SimpleNested.t.sol:7:11 + │ method: src%cse%Identity.applyOp(uint256) + │ + │ (443 steps) + ├─ 7 (terminal) + │ k: #halt ~> CONTINUATION:K + │ pc: 163 + │ callDepth: CALLDEPTH_CELL:Int + │ statusCode: EVMC_REVERT + │ src: test/nested/SimpleNested.t.sol:7:11 + │ method: src%cse%Identity.applyOp(uint256) + │ + ┊ constraint: + ┊ ( notBool + C_IDENTITY_ID:Int + in_keys ( ACCOUNTS_REST:AccountCellMap ) ) + ┊ subst: ... + └─ 2 (leaf, target, terminal) + k: #halt ~> CONTINUATION:K + pc: PC_CELL_5d410f2a:Int + callDepth: CALLDEPTH_CELL_5d410f2a:Int + statusCode: STATUSCODE_FINAL:StatusCode + + + + +module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 - rule [BASIC-BLOCK-26-TO-46]: - - - ( #next [ STATICCALL ] ~> .K => #injectPrank - ~> #next [ STATICCALL ] - ~> #endPrank ) - ~> #checkRevert - ~> #updateRevertOutput 128 32 - ~> #execute - ~> _CONTINUATION:K - - - NORMAL - - - CANCUN - - - false - - - - - - C_IDENTITY_ID:Int - - - CALLER_ID:Int - - - b"i\xab\xff\xa1" +Bytes #buf ( 32 , KV0_x:Int ) - - - 0 - - - ( 0 : ( C_IDENTITY_ID:Int : ( 128 : ( 36 : ( 128 : ( 32 : ( 164 : ( 2889346747 : ( C_IDENTITY_ID:Int : ( 0 : ( KV0_x:Int : ( 70 : ( 1772879777 : .WordStack ) ) ) ) ) ) ) ) ) ) ) ) ) - - - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xac7\xee\xbb" +Bytes #buf ( 32 , KV0_x:Int ) - - - 0 - - - 0 - - - EXPECTEDDEPTH_CELL:Int - - ... - - - - 0 - - ... - - - ORIGIN_ID:Int - - - - NUMBER_CELL:Int - - - TIMESTAMP_CELL:Int - - ... - - ... - - - - 1 - - - ( - - C_IDENTITY_ID:Int - - - C_IDENTITY_BAL:Int - - - C_IDENTITY_NONCE:Int - - ... - - ACCOUNTS_REST:AccountCellMap ) - - ... - - - ... - - - true - - - - - NEWCALLER_CELL:Account - - - ( ACTIVE_CELL:Bool => true ) - - - ( DEPTH_CELL:Int => EXPECTEDDEPTH_CELL:Int ) - - ... - - - - true - - - EXPECTEDDEPTH_CELL:Int - - ... - - - - false - - ... - - - - false - - - .List - - - false - - - .List - - - - .MockCallCellMap - - - .MockFunctionCellMap - - ... - - - - false - - - false - - - false - - - false - - - false - - - .List - - - - requires ( ACTIVE_CELL:Bool - andBool ( _ISREVERTEXPECTED_CELL:Bool - andBool ( DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( 0 <=Int KV0_x:Int - andBool ( 0 <=Int CALLER_ID:Int - andBool ( 0 <=Int ORIGIN_ID:Int - andBool ( 0 <=Int C_IDENTITY_ID:Int - andBool ( 0 <=Int C_IDENTITY_BAL:Int - andBool ( 0 <=Int C_IDENTITY_NONCE:Int - andBool ( pow24 - C_IDENTITY_ID:Int - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) - andBool ( ( notBool #range ( 0 < CALLER_ID:Int <= 10 ) ) - andBool ( ( notBool #range ( 0 < ORIGIN_ID:Int <= 10 ) ) - andBool ( ( notBool #range ( 0 < C_IDENTITY_ID:Int <= 10 ) ) - )))))))))))))))))))))))))))) - ensures NEWCALLER_CELL:Account ~> .K =/=K C_IDENTITY_ID:Int ~> .K - [priority(20), label(BASIC-BLOCK-26-TO-46)] - rule [BASIC-BLOCK-49-TO-37]: + rule [BASIC-BLOCK-8-TO-6]: - ( #addr [ STATICCALL ] - ~> #exec [ STATICCALL ] - ~> #pc [ STATICCALL ] - ~> #execute => #halt ~> .K ) + ( #execute => #halt ) ~> _CONTINUATION:K @@ -2347,10 +118,10 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 0 - ( ( 0 => 1772879777 ) : ( ( C_IDENTITY_ID:Int : ( 128 : ( 36 : ( 128 : ( 32 : ( 164 : ( 2889346747 : ( C_IDENTITY_ID:Int : ( 0 : ( KV0_x:Int : ( 70 : ( 1772879777 : .WordStack ) ) ) ) ) ) ) ) ) ) ) ) => .WordStack ) ) + ( .WordStack => ( 1772879777 : .WordStack ) ) - ( b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xac7\xee\xbb" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" ) +Bytes ( #buf ( 32 , KV0_x:Int ) => #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV0_x:Int ) ) + ( b"" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV0_x:Int ) ) 0 @@ -2415,24 +186,15 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 - - NEWCALLER_CELL:Account - - ACTIVE_CELL:Bool + false - - DEPTH_CELL:Int - ... - ISREVERTEXPECTED_CELL:Bool + false - - EXPECTEDDEPTH_CELL:Int - ... @@ -2496,32 +258,27 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 andBool ( 1073741824 C_IDENTITY_ID:Int in_keys ( ACCOUNTS_REST:AccountCellMap ) ) andBool ( ( notBool #range ( 0 < CALLER_ID:Int <= 10 ) ) andBool ( ( notBool #range ( 0 < ORIGIN_ID:Int <= 10 ) ) andBool ( ( notBool #range ( 0 < C_IDENTITY_ID:Int <= 10 ) ) - andBool ( ( notBool ( CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ISREVERTEXPECTED_CELL:Bool ) ) - andBool ( ( notBool ( ACTIVE_CELL:Bool andBool ( CALLDEPTH_CELL:Int ==Int DEPTH_CELL:Int andBool NEWCALLER_CELL:Account =/=K C_IDENTITY_ID:Int ) ) ) - )))))))))))))))))))))))))) - [priority(20), label(BASIC-BLOCK-49-TO-37)] + )))))))))))))))))))))))) + [priority(20), label(BASIC-BLOCK-8-TO-6)] - rule [BASIC-BLOCK-50-TO-38]: + rule [BASIC-BLOCK-9-TO-7]: - ( #addr [ STATICCALL ] - ~> #exec [ STATICCALL ] - ~> #pc [ STATICCALL ] - ~> #execute => #halt ~> .K ) + ( #execute => #halt ) ~> _CONTINUATION:K @@ -2555,10 +312,10 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 0 - ( ( 0 => 1 ) : ( ( C_IDENTITY_ID:Int => 164 ) : ( ( 128 => 2889346747 ) : ( ( 36 => C_IDENTITY_ID:Int ) : ( ( 128 => 0 ) : ( ( 32 => KV0_x:Int ) : ( ( 164 => 70 ) : ( ( 2889346747 => 1772879777 ) : ( ( C_IDENTITY_ID:Int : ( 0 : ( KV0_x:Int : ( 70 : ( 1772879777 : .WordStack ) ) ) ) ) => .WordStack ) ) ) ) ) ) ) ) ) + ( .WordStack => ( 1 : ( 164 : ( 2889346747 : ( C_IDENTITY_ID:Int : ( 0 : ( KV0_x:Int : ( 70 : ( 1772879777 : .WordStack ) ) ) ) ) ) ) ) ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xac7\xee\xbb" +Bytes #buf ( 32 , KV0_x:Int ) + ( b"" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xac7\xee\xbb" +Bytes #buf ( 32 , KV0_x:Int ) ) 0 @@ -2623,24 +380,15 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 - - NEWCALLER_CELL:Account - - ACTIVE_CELL:Bool + false - - DEPTH_CELL:Int - ... - ISREVERTEXPECTED_CELL:Bool + false - - EXPECTEDDEPTH_CELL:Int - ... @@ -2704,23 +452,21 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 andBool ( 1073741824 C_IDENTITY_ID:Int in_keys ( ACCOUNTS_REST:AccountCellMap ) ) andBool ( ( notBool #range ( 0 < CALLER_ID:Int <= 10 ) ) andBool ( ( notBool #range ( 0 < ORIGIN_ID:Int <= 10 ) ) andBool ( ( notBool #range ( 0 < C_IDENTITY_ID:Int <= 10 ) ) - andBool ( ( notBool ( CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ISREVERTEXPECTED_CELL:Bool ) ) - andBool ( ( notBool ( ACTIVE_CELL:Bool andBool ( CALLDEPTH_CELL:Int ==Int DEPTH_CELL:Int andBool NEWCALLER_CELL:Account =/=K C_IDENTITY_ID:Int ) ) ) - )))))))))))))))))))))))))) - [priority(20), label(BASIC-BLOCK-50-TO-38)] + )))))))))))))))))))))))) + [priority(20), label(BASIC-BLOCK-9-TO-7)] endmodule \ No newline at end of file diff --git a/src/tests/integration/test-data/show/Identity.identity(uint256).cse.expected b/src/tests/integration/test-data/show/Identity.identity(uint256).cse.expected index aab40ca82..6acfc2446 100644 --- a/src/tests/integration/test-data/show/Identity.identity(uint256).cse.expected +++ b/src/tests/integration/test-data/show/Identity.identity(uint256).cse.expected @@ -131,6 +131,18 @@ module SUMMARY-SRC%CSE%IDENTITY.IDENTITY(UINT256):0 true + + + false + + ... + + + + false + + ... + false diff --git a/src/tests/integration/test-data/show/ImportedContract.add(uint256).cse.expected b/src/tests/integration/test-data/show/ImportedContract.add(uint256).cse.expected index 9725845e8..56a9d2180 100644 --- a/src/tests/integration/test-data/show/ImportedContract.add(uint256).cse.expected +++ b/src/tests/integration/test-data/show/ImportedContract.add(uint256).cse.expected @@ -182,6 +182,18 @@ module SUMMARY-TEST%IMPORTEDCONTRACT.ADD(UINT256):0 true + + + false + + ... + + + + false + + ... + false @@ -366,6 +378,18 @@ module SUMMARY-TEST%IMPORTEDCONTRACT.ADD(UINT256):0 true + + + false + + ... + + + + false + + ... + false diff --git a/src/tests/integration/test-data/show/ImportedContract.count().cse.expected b/src/tests/integration/test-data/show/ImportedContract.count().cse.expected index d91340866..7ec85c038 100644 --- a/src/tests/integration/test-data/show/ImportedContract.count().cse.expected +++ b/src/tests/integration/test-data/show/ImportedContract.count().cse.expected @@ -134,6 +134,18 @@ module SUMMARY-TEST%IMPORTEDCONTRACT.COUNT():0 true + + + false + + ... + + + + false + + ... + false diff --git a/src/tests/integration/test-data/show/ImportedContract.init.cse.expected b/src/tests/integration/test-data/show/ImportedContract.init.cse.expected index ad37a5b66..951135c8b 100644 --- a/src/tests/integration/test-data/show/ImportedContract.init.cse.expected +++ b/src/tests/integration/test-data/show/ImportedContract.init.cse.expected @@ -135,6 +135,18 @@ module SUMMARY-TEST%IMPORTEDCONTRACT.INIT:0 true + + + false + + ... + + + + false + + ... + false diff --git a/src/tests/integration/test-data/show/ImportedContract.set(uint256).cse.expected b/src/tests/integration/test-data/show/ImportedContract.set(uint256).cse.expected index fc63b1c3b..02bc6a397 100644 --- a/src/tests/integration/test-data/show/ImportedContract.set(uint256).cse.expected +++ b/src/tests/integration/test-data/show/ImportedContract.set(uint256).cse.expected @@ -182,6 +182,18 @@ module SUMMARY-TEST%IMPORTEDCONTRACT.SET(UINT256):0 true + + + false + + ... + + + + false + + ... + false @@ -364,6 +376,18 @@ module SUMMARY-TEST%IMPORTEDCONTRACT.SET(UINT256):0 true + + + false + + ... + + + + false + + ... + false diff --git a/src/tests/integration/test-data/show/InterfaceTagTest.testInterface().cse.expected b/src/tests/integration/test-data/show/InterfaceTagTest.testInterface().cse.expected index 6b84d2f07..fbb2e7089 100644 --- a/src/tests/integration/test-data/show/InterfaceTagTest.testInterface().cse.expected +++ b/src/tests/integration/test-data/show/InterfaceTagTest.testInterface().cse.expected @@ -7,7 +7,7 @@ │ src: test/nested/SimpleNested.t.sol:7:11 │ method: test%InterfaceTagTest.setUp() │ -│ (1797 steps) +│ (1795 steps) ├─ 8 (terminal) │ k: #halt ~> CONTINUATION:K │ pc: 194 diff --git a/src/tests/integration/test-data/show/StaticCallContract.set(uint256).cse.expected b/src/tests/integration/test-data/show/StaticCallContract.set(uint256).cse.expected index c505efe33..4b36c46d9 100644 --- a/src/tests/integration/test-data/show/StaticCallContract.set(uint256).cse.expected +++ b/src/tests/integration/test-data/show/StaticCallContract.set(uint256).cse.expected @@ -137,6 +137,18 @@ module SUMMARY-TEST%STATICCALLCONTRACT.SET(UINT256):0 true + + + false + + ... + + + + false + + ... + false diff --git a/src/tests/integration/test-data/show/TGovernance.getEscrowTokenTotalSupply().cse.expected b/src/tests/integration/test-data/show/TGovernance.getEscrowTokenTotalSupply().cse.expected index b9b19c7bb..7172f35ff 100644 --- a/src/tests/integration/test-data/show/TGovernance.getEscrowTokenTotalSupply().cse.expected +++ b/src/tests/integration/test-data/show/TGovernance.getEscrowTokenTotalSupply().cse.expected @@ -1,510 +1,154 @@ -┌─ 1 (root, init) +┌─ 1 (root, split, init) │ k: #execute ~> CONTINUATION:K │ pc: 0 │ callDepth: CALLDEPTH_CELL:Int │ statusCode: STATUSCODE:StatusCode │ src: test/nested/SimpleNested.t.sol:7:11 │ method: test%TGovernance.getEscrowTokenTotalSupply() -│ -│ (292 steps) -├─ 3 -│ k: #next [ CALL ] ~> #execute ~> CONTINUATION:K -│ pc: 138 -│ callDepth: CALLDEPTH_CELL:Int -│ statusCode: STATUSCODE:StatusCode -│ src: test/nested/SimpleNested.t.sol:7:11 -│ method: test%TGovernance.getEscrowTokenTotalSupply() ┃ -┃ (1 step) -┣━━┓ +┃ (branch) +┣━━┓ subst: .Subst +┃ ┃ constraint: +┃ ┃ 1024 <=Int CALLDEPTH_CELL:Int ┃ │ -┃ ├─ 4 (split) -┃ │ k: #next [ CALL ] ~> #checkRevert ~> #updateRevertOutput 128 32 ~> #execute ~> CONT ... -┃ │ pc: 138 -┃ │ callDepth: EXPECTEDDEPTH_CELL:Int +┃ ├─ 13 +┃ │ k: #execute ~> CONTINUATION:K +┃ │ pc: 0 +┃ │ callDepth: CALLDEPTH_CELL:Int ┃ │ statusCode: STATUSCODE:StatusCode ┃ │ src: test/nested/SimpleNested.t.sol:7:11 ┃ │ method: test%TGovernance.getEscrowTokenTotalSupply() -┃ ┃ -┃ ┃ (branch) -┃ ┣━━┓ subst: .Subst -┃ ┃ ┃ constraint: -┃ ┃ ┃ ACTIVE_CELL:Bool -┃ ┃ ┃ DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int -┃ ┃ ┃ ( notBool NEWCALLER_CELL:Account ==K C_TGOVERNANCE_ID:Int ) -┃ ┃ │ -┃ ┃ ├─ 7 -┃ ┃ │ k: #next [ CALL ] ~> #checkRevert ~> #updateRevertOutput 128 32 ~> #execute ~> CONT ... -┃ ┃ │ pc: 138 -┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int -┃ ┃ │ statusCode: STATUSCODE:StatusCode -┃ ┃ │ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ │ method: test%TGovernance.getEscrowTokenTotalSupply() -┃ ┃ │ -┃ ┃ │ (1 step) -┃ ┃ ├─ 13 -┃ ┃ │ k: #injectPrank ~> #next [ CALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutp ... -┃ ┃ │ pc: 138 -┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int -┃ ┃ │ statusCode: STATUSCODE:StatusCode -┃ ┃ │ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ │ method: test%TGovernance.getEscrowTokenTotalSupply() -┃ ┃ ┃ -┃ ┃ ┃ (1 step) -┃ ┃ ┣━━┓ -┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 22 -┃ ┃ ┃ │ k: #next [ CALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 128 32 ~> #ex ... -┃ ┃ ┃ │ pc: 138 -┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int -┃ ┃ ┃ │ statusCode: STATUSCODE:StatusCode -┃ ┃ ┃ │ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ ┃ │ method: test%TGovernance.getEscrowTokenTotalSupply() -┃ ┃ ┃ │ -┃ ┃ ┃ │ (7 steps) -┃ ┃ ┃ └─ 43 (leaf, pending) -┃ ┃ ┃ k: #checkBalanceUnderflow NCL:Int 0 ~> #checkDepthExceeded ~> #call NCL:Int C_TGOVE ... -┃ ┃ ┃ pc: 138 -┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int -┃ ┃ ┃ statusCode: STATUSCODE:StatusCode -┃ ┃ ┃ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ ┃ method: test%TGovernance.getEscrowTokenTotalSupply() -┃ ┃ ┃ -┃ ┃ ┣━━┓ -┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 23 -┃ ┃ ┃ │ k: #next [ CALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 128 32 ~> #ex ... -┃ ┃ ┃ │ pc: 138 -┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int -┃ ┃ ┃ │ statusCode: STATUSCODE:StatusCode -┃ ┃ ┃ │ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ ┃ │ method: test%TGovernance.getEscrowTokenTotalSupply() -┃ ┃ ┃ │ -┃ ┃ ┃ │ (7 steps) -┃ ┃ ┃ └─ 44 (leaf, pending) -┃ ┃ ┃ k: #checkBalanceUnderflow NCL:Int 0 ~> #checkDepthExceeded ~> #call NCL:Int C_TGOVE ... -┃ ┃ ┃ pc: 138 -┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int -┃ ┃ ┃ statusCode: STATUSCODE:StatusCode -┃ ┃ ┃ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ ┃ method: test%TGovernance.getEscrowTokenTotalSupply() -┃ ┃ ┃ -┃ ┃ ┗━━┓ -┃ ┃ │ -┃ ┃ ├─ 24 -┃ ┃ │ k: #injectPrank ~> #next [ CALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutp ... -┃ ┃ │ pc: 138 -┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int -┃ ┃ │ statusCode: STATUSCODE:StatusCode -┃ ┃ │ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ │ method: test%TGovernance.getEscrowTokenTotalSupply() -┃ ┃ ┃ -┃ ┃ ┃ (1 step) -┃ ┃ ┣━━┓ -┃ ┃ ┃ │ -┃ ┃ ┃ └─ 45 (leaf, pending) -┃ ┃ ┃ k: #next [ CALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 128 32 ~> #ex ... -┃ ┃ ┃ pc: 138 -┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int -┃ ┃ ┃ statusCode: STATUSCODE:StatusCode -┃ ┃ ┃ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ ┃ method: test%TGovernance.getEscrowTokenTotalSupply() -┃ ┃ ┃ -┃ ┃ ┗━━┓ -┃ ┃ │ -┃ ┃ └─ 46 (leaf, pending) -┃ ┃ k: #injectPrank ~> #next [ CALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutp ... -┃ ┃ pc: 138 -┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int -┃ ┃ statusCode: STATUSCODE:StatusCode -┃ ┃ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ method: test%TGovernance.getEscrowTokenTotalSupply() -┃ ┃ -┃ ┣━━┓ subst: .Subst -┃ ┃ ┃ constraint: -┃ ┃ ┃ ACTIVE_CELL:Bool -┃ ┃ ┃ DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int -┃ ┃ ┃ ( notBool NEWCALLER_CELL:Account ==K C_TGOVERNANCE_ID:Int ) -┃ ┃ │ -┃ ┃ ├─ 14 -┃ ┃ │ k: #next [ CALL ] ~> #checkRevert ~> #updateRevertOutput 128 32 ~> #execute ~> CONT ... -┃ ┃ │ pc: 138 -┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int -┃ ┃ │ statusCode: STATUSCODE:StatusCode -┃ ┃ │ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ │ method: test%TGovernance.getEscrowTokenTotalSupply() -┃ ┃ │ -┃ ┃ │ (1 step) -┃ ┃ ├─ 25 -┃ ┃ │ k: #injectPrank ~> #next [ CALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutp ... -┃ ┃ │ pc: 138 -┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int -┃ ┃ │ statusCode: STATUSCODE:StatusCode -┃ ┃ │ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ │ method: test%TGovernance.getEscrowTokenTotalSupply() -┃ ┃ ┃ -┃ ┃ ┃ (1 step) -┃ ┃ ┣━━┓ -┃ ┃ ┃ │ -┃ ┃ ┃ └─ 47 (leaf, pending) -┃ ┃ ┃ k: #next [ CALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 128 32 ~> #ex ... -┃ ┃ ┃ pc: 138 -┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int -┃ ┃ ┃ statusCode: STATUSCODE:StatusCode -┃ ┃ ┃ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ ┃ method: test%TGovernance.getEscrowTokenTotalSupply() -┃ ┃ ┃ -┃ ┃ ┣━━┓ -┃ ┃ ┃ │ -┃ ┃ ┃ └─ 48 (leaf, pending) -┃ ┃ ┃ k: #next [ CALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 128 32 ~> #ex ... -┃ ┃ ┃ pc: 138 -┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int -┃ ┃ ┃ statusCode: STATUSCODE:StatusCode -┃ ┃ ┃ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ ┃ method: test%TGovernance.getEscrowTokenTotalSupply() -┃ ┃ ┃ -┃ ┃ ┗━━┓ -┃ ┃ │ -┃ ┃ └─ 49 (leaf, pending) -┃ ┃ k: #injectPrank ~> #next [ CALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutp ... -┃ ┃ pc: 138 -┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int -┃ ┃ statusCode: STATUSCODE:StatusCode -┃ ┃ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ method: test%TGovernance.getEscrowTokenTotalSupply() -┃ ┃ -┃ ┣━━┓ subst: .Subst -┃ ┃ ┃ constraint: -┃ ┃ ┃ ACTIVE_CELL:Bool -┃ ┃ ┃ DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int -┃ ┃ ┃ ( notBool NEWCALLER_CELL:Account ==K C_TGOVERNANCE_ID:Int ) -┃ ┃ │ -┃ ┃ ├─ 26 -┃ ┃ │ k: #next [ CALL ] ~> #checkRevert ~> #updateRevertOutput 128 32 ~> #execute ~> CONT ... -┃ ┃ │ pc: 138 -┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int -┃ ┃ │ statusCode: STATUSCODE:StatusCode -┃ ┃ │ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ │ method: test%TGovernance.getEscrowTokenTotalSupply() -┃ ┃ │ -┃ ┃ │ (1 step) -┃ ┃ └─ 50 (leaf, pending) -┃ ┃ k: #injectPrank ~> #next [ CALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutp ... -┃ ┃ pc: 138 -┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int -┃ ┃ statusCode: STATUSCODE:StatusCode -┃ ┃ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ method: test%TGovernance.getEscrowTokenTotalSupply() -┃ ┃ -┃ ┣━━┓ subst: .Subst -┃ ┃ ┃ constraint: -┃ ┃ ┃ ACTIVE_CELL:Bool -┃ ┃ ┃ DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int -┃ ┃ ┃ ( notBool NEWCALLER_CELL:Account ==K C_TGOVERNANCE_ID:Int ) -┃ ┃ │ -┃ ┃ └─ 51 (leaf, pending) -┃ ┃ k: #next [ CALL ] ~> #checkRevert ~> #updateRevertOutput 128 32 ~> #execute ~> CONT ... -┃ ┃ pc: 138 -┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int -┃ ┃ statusCode: STATUSCODE:StatusCode -┃ ┃ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ method: test%TGovernance.getEscrowTokenTotalSupply() -┃ ┃ -┃ ┗━━┓ subst: .Subst -┃ ┃ constraint: true -┃ │ -┃ └─ 52 (leaf, pending) -┃ k: #next [ CALL ] ~> #checkRevert ~> #updateRevertOutput 128 32 ~> #execute ~> CONT ... -┃ pc: 138 -┃ callDepth: EXPECTEDDEPTH_CELL:Int -┃ statusCode: STATUSCODE:StatusCode -┃ src: test/nested/SimpleNested.t.sol:7:11 -┃ method: test%TGovernance.getEscrowTokenTotalSupply() +┃ │ +┃ │ (376 steps) +┃ ├─ 7 (terminal) +┃ │ k: #halt ~> CONTINUATION:K +┃ │ pc: 153 +┃ │ callDepth: CALLDEPTH_CELL:Int +┃ │ statusCode: EVMC_REVERT +┃ │ src: test/nested/SimpleNested.t.sol:7:11 +┃ │ method: test%TGovernance.getEscrowTokenTotalSupply() +┃ │ +┃ ┊ constraint: +┃ ┊ ( notBool 0 in_keys ( C_TGOVERNANCE_ESCROW_STORAGE:Map ) ) +┃ ┊ ( notBool 0 in_keys ( C_TGOVERNANCE_STORAGE:Map ) ) +┃ ┊ ( notBool + C_TGOVERNANCE_ESCROW_ID:Int + in_keys ( ACCOUNTS_REST:AccountCellMap ) ) +┃ ┊ ( notBool + C_TGOVERNANCE_ESCROW_TOKEN_ID:Int + in_keys ( ACCOUNTS_REST:AccountCellMap ) ) +┃ ┊ ( notBool + C_TGOVERNANCE_ID:Int + in_keys ( ACCOUNTS_REST:AccountCellMap ) ) +┃ ┊ ( notBool C_TGOVERNANCE_ESCROW_ID:Int ==Int C_TGOVERNANCE_ESCROW_TOKEN_ID:Int ) +┃ ┊ ( notBool C_TGOVERNANCE_ESCROW_ID:Int ==Int C_TGOVERNANCE_ID:Int ) +┃ ┊ ( notBool C_TGOVERNANCE_ESCROW_TOKEN_ID:Int ==Int C_TGOVERNANCE_ID:Int ) +┃ ┊ subst: ... +┃ └─ 2 (leaf, target, terminal) +┃ k: #halt ~> CONTINUATION:K +┃ pc: PC_CELL_5d410f2a:Int +┃ callDepth: CALLDEPTH_CELL_5d410f2a:Int +┃ statusCode: STATUSCODE_FINAL:StatusCode ┃ -┣━━┓ +┣━━┓ subst: .Subst +┃ ┃ constraint: +┃ ┃ CALLDEPTH_CELL:Int #next [ CALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K -┃ │ pc: 138 -┃ │ callDepth: DEPTH_CELL:Int +┃ ├─ 16 +┃ │ k: #execute ~> CONTINUATION:K +┃ │ pc: 0 +┃ │ callDepth: CALLDEPTH_CELL:Int ┃ │ statusCode: STATUSCODE:StatusCode ┃ │ src: test/nested/SimpleNested.t.sol:7:11 ┃ │ method: test%TGovernance.getEscrowTokenTotalSupply() -┃ ┃ -┃ ┃ (1 step) -┃ ┣━━┓ -┃ ┃ │ -┃ ┃ ├─ 9 -┃ ┃ │ k: #next [ CALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K -┃ ┃ │ pc: 138 -┃ ┃ │ callDepth: DEPTH_CELL:Int -┃ ┃ │ statusCode: STATUSCODE:StatusCode -┃ ┃ │ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ │ method: test%TGovernance.getEscrowTokenTotalSupply() -┃ ┃ │ -┃ ┃ │ (7 steps) -┃ ┃ ├─ 16 -┃ ┃ │ k: #checkBalanceUnderflow NCL:Int 0 ~> #checkDepthExceeded ~> #call NCL:Int C_TGOVE ... -┃ ┃ │ pc: 138 -┃ ┃ │ callDepth: DEPTH_CELL:Int -┃ ┃ │ statusCode: STATUSCODE:StatusCode -┃ ┃ │ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ │ method: test%TGovernance.getEscrowTokenTotalSupply() -┃ ┃ ┃ -┃ ┃ ┃ (1 step) -┃ ┃ ┣━━┓ -┃ ┃ ┃ │ -┃ ┃ ┃ └─ 28 (leaf, pending) -┃ ┃ ┃ k: #refund 0 ~> #pushCallStack ~> #pushWorldState ~> #end EVMC_BALANCE_UNDERFLOW ~> ... -┃ ┃ ┃ pc: 138 -┃ ┃ ┃ callDepth: DEPTH_CELL:Int -┃ ┃ ┃ statusCode: STATUSCODE:StatusCode -┃ ┃ ┃ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ ┃ method: test%TGovernance.getEscrowTokenTotalSupply() -┃ ┃ ┃ -┃ ┃ ┣━━┓ -┃ ┃ ┃ │ -┃ ┃ ┃ └─ 29 (leaf, pending) -┃ ┃ ┃ k: #checkDepthExceeded ~> #call NCL:Int C_TGOVERNANCE_ESCROW_ID:Int C_TGOVERNANCE_E ... -┃ ┃ ┃ pc: 138 -┃ ┃ ┃ callDepth: DEPTH_CELL:Int -┃ ┃ ┃ statusCode: STATUSCODE:StatusCode -┃ ┃ ┃ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ ┃ method: test%TGovernance.getEscrowTokenTotalSupply() -┃ ┃ ┃ -┃ ┃ ┣━━┓ -┃ ┃ ┃ │ -┃ ┃ ┃ └─ 30 (leaf, pending) -┃ ┃ ┃ k: #checkDepthExceeded ~> #call NCL:Int NCL:Int NCL:Int 0 0 b"W\xdf\x84K" false ~> ... -┃ ┃ ┃ pc: 138 -┃ ┃ ┃ callDepth: DEPTH_CELL:Int -┃ ┃ ┃ statusCode: STATUSCODE:StatusCode -┃ ┃ ┃ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ ┃ method: test%TGovernance.getEscrowTokenTotalSupply() -┃ ┃ ┃ -┃ ┃ ┣━━┓ -┃ ┃ ┃ │ -┃ ┃ ┃ └─ 31 (leaf, pending) -┃ ┃ ┃ k: #checkDepthExceeded ~> #call NCL:Int C_TGOVERNANCE_ESCROW_ID:Int C_TGOVERNANCE_E ... -┃ ┃ ┃ pc: 138 -┃ ┃ ┃ callDepth: DEPTH_CELL:Int -┃ ┃ ┃ statusCode: STATUSCODE:StatusCode -┃ ┃ ┃ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ ┃ method: test%TGovernance.getEscrowTokenTotalSupply() -┃ ┃ ┃ -┃ ┃ ┗━━┓ -┃ ┃ │ -┃ ┃ └─ 32 (leaf, pending) -┃ ┃ k: #checkBalanceUnderflow NCL:Int 0 ~> #checkDepthExceeded ~> #call NCL:Int C_TGOVE ... -┃ ┃ pc: 138 -┃ ┃ callDepth: DEPTH_CELL:Int -┃ ┃ statusCode: STATUSCODE:StatusCode -┃ ┃ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ method: test%TGovernance.getEscrowTokenTotalSupply() -┃ ┃ -┃ ┣━━┓ -┃ ┃ │ -┃ ┃ ├─ 10 -┃ ┃ │ k: #next [ CALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K -┃ ┃ │ pc: 138 -┃ ┃ │ callDepth: DEPTH_CELL:Int -┃ ┃ │ statusCode: STATUSCODE:StatusCode -┃ ┃ │ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ │ method: test%TGovernance.getEscrowTokenTotalSupply() -┃ ┃ │ -┃ ┃ │ (7 steps) -┃ ┃ ├─ 17 -┃ ┃ │ k: #checkBalanceUnderflow NCL:Int 0 ~> #checkDepthExceeded ~> #call NCL:Int C_TGOVE ... -┃ ┃ │ pc: 138 -┃ ┃ │ callDepth: DEPTH_CELL:Int -┃ ┃ │ statusCode: STATUSCODE:StatusCode -┃ ┃ │ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ │ method: test%TGovernance.getEscrowTokenTotalSupply() -┃ ┃ ┃ -┃ ┃ ┃ (1 step) -┃ ┃ ┣━━┓ -┃ ┃ ┃ │ -┃ ┃ ┃ └─ 33 (leaf, pending) -┃ ┃ ┃ k: #refund 0 ~> #pushCallStack ~> #pushWorldState ~> #end EVMC_BALANCE_UNDERFLOW ~> ... -┃ ┃ ┃ pc: 138 -┃ ┃ ┃ callDepth: DEPTH_CELL:Int -┃ ┃ ┃ statusCode: STATUSCODE:StatusCode -┃ ┃ ┃ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ ┃ method: test%TGovernance.getEscrowTokenTotalSupply() -┃ ┃ ┃ -┃ ┃ ┣━━┓ -┃ ┃ ┃ │ -┃ ┃ ┃ └─ 34 (leaf, pending) -┃ ┃ ┃ k: #checkDepthExceeded ~> #call NCL:Int C_TGOVERNANCE_ESCROW_ID:Int C_TGOVERNANCE_E ... -┃ ┃ ┃ pc: 138 -┃ ┃ ┃ callDepth: DEPTH_CELL:Int -┃ ┃ ┃ statusCode: STATUSCODE:StatusCode -┃ ┃ ┃ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ ┃ method: test%TGovernance.getEscrowTokenTotalSupply() -┃ ┃ ┃ -┃ ┃ ┣━━┓ -┃ ┃ ┃ │ -┃ ┃ ┃ └─ 35 (leaf, pending) -┃ ┃ ┃ k: #checkDepthExceeded ~> #call NCL:Int NCL:Int NCL:Int 0 0 b"W\xdf\x84K" false ~> ... -┃ ┃ ┃ pc: 138 -┃ ┃ ┃ callDepth: DEPTH_CELL:Int -┃ ┃ ┃ statusCode: STATUSCODE:StatusCode -┃ ┃ ┃ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ ┃ method: test%TGovernance.getEscrowTokenTotalSupply() -┃ ┃ ┃ -┃ ┃ ┣━━┓ -┃ ┃ ┃ │ -┃ ┃ ┃ └─ 36 (leaf, pending) -┃ ┃ ┃ k: #checkDepthExceeded ~> #call NCL:Int C_TGOVERNANCE_ESCROW_ID:Int C_TGOVERNANCE_E ... -┃ ┃ ┃ pc: 138 -┃ ┃ ┃ callDepth: DEPTH_CELL:Int -┃ ┃ ┃ statusCode: STATUSCODE:StatusCode -┃ ┃ ┃ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ ┃ method: test%TGovernance.getEscrowTokenTotalSupply() -┃ ┃ ┃ -┃ ┃ ┗━━┓ -┃ ┃ │ -┃ ┃ └─ 37 (leaf, pending) -┃ ┃ k: #checkBalanceUnderflow NCL:Int 0 ~> #checkDepthExceeded ~> #call NCL:Int C_TGOVE ... -┃ ┃ pc: 138 -┃ ┃ callDepth: DEPTH_CELL:Int -┃ ┃ statusCode: STATUSCODE:StatusCode -┃ ┃ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ method: test%TGovernance.getEscrowTokenTotalSupply() -┃ ┃ -┃ ┗━━┓ -┃ │ -┃ ├─ 11 -┃ │ k: #injectPrank ~> #next [ CALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K -┃ │ pc: 138 -┃ │ callDepth: DEPTH_CELL:Int -┃ │ statusCode: STATUSCODE:StatusCode -┃ │ src: test/nested/SimpleNested.t.sol:7:11 -┃ │ method: test%TGovernance.getEscrowTokenTotalSupply() -┃ ┃ -┃ ┃ (1 step) -┃ ┣━━┓ -┃ ┃ │ -┃ ┃ ├─ 18 -┃ ┃ │ k: #next [ CALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K -┃ ┃ │ pc: 138 -┃ ┃ │ callDepth: DEPTH_CELL:Int -┃ ┃ │ statusCode: STATUSCODE:StatusCode -┃ ┃ │ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ │ method: test%TGovernance.getEscrowTokenTotalSupply() -┃ ┃ │ -┃ ┃ │ (7 steps) -┃ ┃ └─ 38 (leaf, pending) -┃ ┃ k: #checkBalanceUnderflow NCL:Int 0 ~> #checkDepthExceeded ~> #call NCL:Int C_TGOVE ... -┃ ┃ pc: 138 -┃ ┃ callDepth: DEPTH_CELL:Int -┃ ┃ statusCode: STATUSCODE:StatusCode -┃ ┃ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ method: test%TGovernance.getEscrowTokenTotalSupply() -┃ ┃ -┃ ┗━━┓ -┃ │ -┃ ├─ 19 -┃ │ k: #injectPrank ~> #next [ CALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K -┃ │ pc: 138 -┃ │ callDepth: DEPTH_CELL:Int -┃ │ statusCode: STATUSCODE:StatusCode -┃ │ src: test/nested/SimpleNested.t.sol:7:11 -┃ │ method: test%TGovernance.getEscrowTokenTotalSupply() -┃ ┃ -┃ ┃ (1 step) -┃ ┣━━┓ -┃ ┃ │ -┃ ┃ └─ 39 (leaf, pending) -┃ ┃ k: #next [ CALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K -┃ ┃ pc: 138 -┃ ┃ callDepth: DEPTH_CELL:Int -┃ ┃ statusCode: STATUSCODE:StatusCode -┃ ┃ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ method: test%TGovernance.getEscrowTokenTotalSupply() -┃ ┃ -┃ ┗━━┓ -┃ │ -┃ └─ 40 (leaf, pending) -┃ k: #injectPrank ~> #next [ CALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K -┃ pc: 138 -┃ callDepth: DEPTH_CELL:Int -┃ statusCode: STATUSCODE:StatusCode -┃ src: test/nested/SimpleNested.t.sol:7:11 -┃ method: test%TGovernance.getEscrowTokenTotalSupply() +┃ │ +┃ │ (638 steps) +┃ ├─ 10 (terminal) +┃ │ k: #halt ~> CONTINUATION:K +┃ │ pc: 68 +┃ │ callDepth: CALLDEPTH_CELL:Int +┃ │ statusCode: EVMC_SUCCESS +┃ │ src: test/nested/SimpleNested.t.sol:7:11 +┃ │ method: test%TGovernance.getEscrowTokenTotalSupply() +┃ │ +┃ ┊ constraint: +┃ ┊ ( notBool 0 in_keys ( C_TGOVERNANCE_ESCROW_STORAGE:Map ) ) +┃ ┊ ( notBool 0 in_keys ( C_TGOVERNANCE_STORAGE:Map ) ) +┃ ┊ ( notBool + C_TGOVERNANCE_ESCROW_ID:Int + in_keys ( ACCOUNTS_REST:AccountCellMap ) ) +┃ ┊ ( notBool + C_TGOVERNANCE_ESCROW_TOKEN_ID:Int + in_keys ( ACCOUNTS_REST:AccountCellMap ) ) +┃ ┊ ( notBool + C_TGOVERNANCE_ID:Int + in_keys ( ACCOUNTS_REST:AccountCellMap ) ) +┃ ┊ ( notBool C_TGOVERNANCE_ESCROW_ID:Int ==Int C_TGOVERNANCE_ESCROW_TOKEN_ID:Int ) +┃ ┊ ( notBool C_TGOVERNANCE_ESCROW_ID:Int ==Int C_TGOVERNANCE_ID:Int ) +┃ ┊ ( notBool C_TGOVERNANCE_ESCROW_TOKEN_ID:Int ==Int C_TGOVERNANCE_ID:Int ) +┃ ┊ subst: ... +┃ └─ 2 (leaf, target, terminal) +┃ k: #halt ~> CONTINUATION:K +┃ pc: PC_CELL_5d410f2a:Int +┃ callDepth: CALLDEPTH_CELL_5d410f2a:Int +┃ statusCode: STATUSCODE_FINAL:StatusCode ┃ -┗━━┓ +┗━━┓ subst: .Subst + ┃ constraint: + ┃ CALLDEPTH_CELL:Int #exec [ CALL ] ~> #pc [ CALL ] ~> #execute ~> CONTINUATION:K - │ pc: 138 + ├─ 17 + │ k: #execute ~> CONTINUATION:K + │ pc: 0 │ callDepth: CALLDEPTH_CELL:Int │ statusCode: STATUSCODE:StatusCode │ src: test/nested/SimpleNested.t.sol:7:11 │ method: test%TGovernance.getEscrowTokenTotalSupply() - ┃ - ┃ (branch) - ┣━━┓ subst: .Subst - ┃ ┃ constraint: - ┃ ┃ CALLDEPTH_CELL:Int #exec [ CALL ] ~> #pc [ CALL ] ~> #execute ~> CONTINUATION:K - ┃ │ pc: 138 - ┃ │ callDepth: CALLDEPTH_CELL:Int - ┃ │ statusCode: STATUSCODE:StatusCode - ┃ │ src: test/nested/SimpleNested.t.sol:7:11 - ┃ │ method: test%TGovernance.getEscrowTokenTotalSupply() - ┃ │ - ┃ │ (24 steps) - ┃ └─ 41 (leaf, pending) - ┃ k: #next [ CALL ] ~> #execute ~> #return 128 32 ~> #pc [ CALL ] ~> #execute ~> CONT ... - ┃ pc: 143 - ┃ callDepth: ( CALLDEPTH_CELL:Int +Int 1 ) - ┃ statusCode: STATUSCODE:StatusCode - ┃ src: test/nested/SimpleNested.t.sol:7:11 - ┃ method: test%TEscrow.getTokenTotalSupply() - ┃ - ┗━━┓ subst: .Subst - ┃ constraint: - ┃ 1024 <=Int CALLDEPTH_CELL:Int - │ - ├─ 54 - │ k: #addr [ CALL ] ~> #exec [ CALL ] ~> #pc [ CALL ] ~> #execute ~> CONTINUATION:K - │ pc: 138 - │ callDepth: CALLDEPTH_CELL:Int - │ statusCode: STATUSCODE:StatusCode - │ src: test/nested/SimpleNested.t.sol:7:11 - │ method: test%TGovernance.getEscrowTokenTotalSupply() - │ - │ (83 steps) - └─ 42 (leaf, pending) - k: #halt ~> CONTINUATION:K - pc: 153 - callDepth: CALLDEPTH_CELL:Int - statusCode: EVMC_REVERT - src: test/nested/SimpleNested.t.sol:7:11 - method: test%TGovernance.getEscrowTokenTotalSupply() - + │ + │ (389 steps) + ├─ 11 (terminal) + │ k: #halt ~> CONTINUATION:K + │ pc: 153 + │ callDepth: CALLDEPTH_CELL:Int + │ statusCode: EVMC_REVERT + │ src: test/nested/SimpleNested.t.sol:7:11 + │ method: test%TGovernance.getEscrowTokenTotalSupply() + │ + ┊ constraint: + ┊ ( notBool 0 in_keys ( C_TGOVERNANCE_ESCROW_STORAGE:Map ) ) + ┊ ( notBool 0 in_keys ( C_TGOVERNANCE_STORAGE:Map ) ) + ┊ ( notBool + C_TGOVERNANCE_ESCROW_ID:Int + in_keys ( ACCOUNTS_REST:AccountCellMap ) ) + ┊ ( notBool + C_TGOVERNANCE_ESCROW_TOKEN_ID:Int + in_keys ( ACCOUNTS_REST:AccountCellMap ) ) + ┊ ( notBool + C_TGOVERNANCE_ID:Int + in_keys ( ACCOUNTS_REST:AccountCellMap ) ) + ┊ ( notBool C_TGOVERNANCE_ESCROW_ID:Int ==Int C_TGOVERNANCE_ESCROW_TOKEN_ID:Int ) + ┊ ( notBool C_TGOVERNANCE_ESCROW_ID:Int ==Int C_TGOVERNANCE_ID:Int ) + ┊ ( notBool C_TGOVERNANCE_ESCROW_TOKEN_ID:Int ==Int C_TGOVERNANCE_ID:Int ) + ┊ subst: ... + └─ 2 (leaf, target, terminal) + k: #halt ~> CONTINUATION:K + pc: PC_CELL_5d410f2a:Int + callDepth: CALLDEPTH_CELL_5d410f2a:Int + statusCode: STATUSCODE_FINAL:StatusCode -┌─ 2 (root, leaf, target, terminal) -│ k: #halt ~> CONTINUATION:K -│ pc: PC_CELL_5d410f2a:Int -│ callDepth: CALLDEPTH_CELL_5d410f2a:Int -│ statusCode: STATUSCODE_FINAL:StatusCode module SUMMARY-TEST%TGOVERNANCE.GETESCROWTOKENTOTALSUPPLY():0 - rule [BASIC-BLOCK-1-TO-3]: + rule [BASIC-BLOCK-13-TO-7]: - ( .K => #next [ CALL ] ~> .K ) - ~> #execute + ( #execute => #halt ) ~> _CONTINUATION:K @@ -518,6 +162,12 @@ module SUMMARY-TEST%TGOVERNANCE.GETESCROWTOKENTOTALSUPPLY():0 + + ( _OUTPUT_CELL:Bytes => b"" ) + + + ( _STATUSCODE:StatusCode => EVMC_REVERT ) + C_TGOVERNANCE_ID:Int @@ -532,7 +182,7 @@ module SUMMARY-TEST%TGOVERNANCE.GETESCROWTOKENTOTALSUPPLY():0 0 - ( .WordStack => ( 0 : ( C_TGOVERNANCE_ESCROW_ID:Int : ( 0 : ( 128 : ( 4 : ( 128 : ( 32 : ( 132 : ( 1474266187 : ( C_TGOVERNANCE_ESCROW_ID:Int : ( 0 : ( 51 : ( 2061189261 : .WordStack ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ( .WordStack => ( 1 : ( 132 : ( 1474266187 : ( C_TGOVERNANCE_ESCROW_ID:Int : ( 0 : ( 51 : ( 2061189261 : .WordStack ) ) ) ) ) ) ) ) ( b"" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00W\xdf\x84K\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" ) @@ -546,12 +196,18 @@ module SUMMARY-TEST%TGOVERNANCE.GETESCROWTOKENTOTALSUPPLY():0 false + + CALLDEPTH_CELL:Int + ... 0 + + ( ACCESSEDACCOUNTS_CELL:Set => ACCESSEDACCOUNTS_CELL:Set |Set SetItem ( C_TGOVERNANCE_ESCROW_ID:Int ) ) + ... @@ -628,6 +284,18 @@ module SUMMARY-TEST%TGOVERNANCE.GETESCROWTOKENTOTALSUPPLY():0 true + + + false + + ... + + + + false + + ... + false @@ -681,6 +349,7 @@ module SUMMARY-TEST%TGOVERNANCE.GETESCROWTOKENTOTALSUPPLY():0 andBool ( 0 <=Int ORIGIN_ID:Int andBool ( 0 <=Int C_TGOVERNANCE_ID:Int andBool ( 0 <=Int C_TGOVERNANCE_BAL:Int + andBool ( 1024 <=Int CALLDEPTH_CELL:Int andBool ( pow24 + rule [BASIC-BLOCK-16-TO-10]: - ( #next [ CALL ] ~> .K => #injectPrank - ~> #next [ CALL ] - ~> #endPrank ) - ~> #checkRevert - ~> #updateRevertOutput 128 32 - ~> #execute + ( #execute => #halt ) ~> _CONTINUATION:K @@ -754,6 +418,15 @@ module SUMMARY-TEST%TGOVERNANCE.GETESCROWTOKENTOTALSUPPLY():0 + + ( _OUTPUT_CELL:Bytes => #buf ( 32 , ( #asWord ( #range ( #buf ( 32 , #lookup ( C_TGOVERNANCE_ESCROW_TOKEN_STORAGE:Map , 0 ) ) , 16 , 16 ) ) +Int 45 ) ) ) + + + ( _STATUSCODE:StatusCode => EVMC_SUCCESS ) + + + ( TOUCHEDACCOUNTS_CELL:Set => TOUCHEDACCOUNTS_CELL:Set |Set SetItem ( C_TGOVERNANCE_ID:Int ) |Set SetItem ( C_TGOVERNANCE_ESCROW_ID:Int ) |Set SetItem ( C_TGOVERNANCE_ESCROW_TOKEN_ID:Int ) ) + C_TGOVERNANCE_ID:Int @@ -768,10 +441,10 @@ module SUMMARY-TEST%TGOVERNANCE.GETESCROWTOKENTOTALSUPPLY():0 0 - ( 0 : ( C_TGOVERNANCE_ESCROW_ID:Int : ( 0 : ( 128 : ( 4 : ( 128 : ( 32 : ( 132 : ( 1474266187 : ( C_TGOVERNANCE_ESCROW_ID:Int : ( 0 : ( 51 : ( 2061189261 : .WordStack ) ) ) ) ) ) ) ) ) ) ) ) ) + ( .WordStack => ( 2061189261 : .WordStack ) ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00W\xdf\x84K\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + ( b"" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #buf ( 32 , ( #asWord ( #range ( #buf ( 32 , #lookup ( C_TGOVERNANCE_ESCROW_TOKEN_STORAGE:Map , 0 ) ) , 16 , 16 ) ) +Int 45 ) ) +Bytes #buf ( 32 , ( #asWord ( #range ( #buf ( 32 , #lookup ( C_TGOVERNANCE_ESCROW_TOKEN_STORAGE:Map , 0 ) ) , 16 , 16 ) ) +Int 45 ) ) ) 0 @@ -783,7 +456,7 @@ module SUMMARY-TEST%TGOVERNANCE.GETESCROWTOKENTOTALSUPPLY():0 false - EXPECTEDDEPTH_CELL:Int + CALLDEPTH_CELL:Int ... @@ -791,6 +464,9 @@ module SUMMARY-TEST%TGOVERNANCE.GETESCROWTOKENTOTALSUPPLY():0 0 + + ( ACCESSEDACCOUNTS_CELL:Set => ACCESSEDACCOUNTS_CELL:Set |Set SetItem ( C_TGOVERNANCE_ESCROW_ID:Int ) |Set SetItem ( C_TGOVERNANCE_ID:Int ) |Set SetItem ( C_TGOVERNANCE_ESCROW_TOKEN_ID:Int ) |Set SetItem ( C_TGOVERNANCE_ESCROW_ID:Int ) ) + ... @@ -835,6 +511,9 @@ module SUMMARY-TEST%TGOVERNANCE.GETESCROWTOKENTOTALSUPPLY():0 C_TGOVERNANCE_ESCROW_TOKEN_BAL:Int + + C_TGOVERNANCE_ESCROW_TOKEN_STORAGE:Map + C_TGOVERNANCE_ESCROW_TOKEN_NONCE:Int @@ -868,24 +547,15 @@ module SUMMARY-TEST%TGOVERNANCE.GETESCROWTOKENTOTALSUPPLY():0 - - NEWCALLER_CELL:Account - - ( ACTIVE_CELL:Bool => true ) + false - - ( DEPTH_CELL:Int => EXPECTEDDEPTH_CELL:Int ) - ... - true + false - - EXPECTEDDEPTH_CELL:Int - ... @@ -937,49 +607,46 @@ module SUMMARY-TEST%TGOVERNANCE.GETESCROWTOKENTOTALSUPPLY():0 - requires ( ACTIVE_CELL:Bool - andBool ( _ISREVERTEXPECTED_CELL:Bool - andBool ( DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( 0 <=Int CALLER_ID:Int + requires ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int andBool ( 0 <=Int C_TGOVERNANCE_ID:Int + andBool ( CALLDEPTH_CELL:Int C_TGOVERNANCE_ID:Int in_keys ( ACCOUNTS_REST:AccountCellMap ) ) @@ -994,20 +661,13 @@ module SUMMARY-TEST%TGOVERNANCE.GETESCROWTOKENTOTALSUPPLY():0 andBool ( ( notBool #range ( 0 < C_TGOVERNANCE_ID:Int <= 10 ) ) andBool ( ( notBool #range ( 0 < C_TGOVERNANCE_ESCROW_ID:Int <= 10 ) ) andBool ( ( notBool #range ( 0 < C_TGOVERNANCE_ESCROW_TOKEN_ID:Int <= 10 ) ) - ))))))))))))))))))))))))))))))))))))))))))))))))))) - ensures NEWCALLER_CELL:Account ~> .K =/=K C_TGOVERNANCE_ID:Int ~> .K - [priority(20), label(BASIC-BLOCK-7-TO-13)] + )))))))))))))))))))))))))))))))))))))))))))))))) + [priority(20), label(BASIC-BLOCK-16-TO-10)] - rule [BASIC-BLOCK-9-TO-16]: + rule [BASIC-BLOCK-17-TO-11]: - ( #next [ CALL ] ~> .K => #checkBalanceUnderflow NCL:Int 0 - ~> #checkDepthExceeded - ~> #call NCL:Int C_TGOVERNANCE_ESCROW_ID:Int C_TGOVERNANCE_ESCROW_ID:Int 0 0 b"W\xdf\x84K" false - ~> #return 128 32 - ~> #pc [ CALL ] ) - ~> #endPrank - ~> #execute + ( #execute => #halt ) ~> _CONTINUATION:K @@ -1021,9 +681,18 @@ module SUMMARY-TEST%TGOVERNANCE.GETESCROWTOKENTOTALSUPPLY():0 + + ( _OUTPUT_CELL:Bytes => b"" ) + + + ( _STATUSCODE:StatusCode => EVMC_REVERT ) + + + ( TOUCHEDACCOUNTS_CELL:Set => TOUCHEDACCOUNTS_CELL:Set |Set SetItem ( C_TGOVERNANCE_ID:Int ) |Set SetItem ( C_TGOVERNANCE_ESCROW_ID:Int ) ) + - NCL:Int + C_TGOVERNANCE_ID:Int CALLER_ID:Int @@ -1035,10 +704,10 @@ module SUMMARY-TEST%TGOVERNANCE.GETESCROWTOKENTOTALSUPPLY():0 0 - ( ( 0 => 132 ) : ( ( C_TGOVERNANCE_ESCROW_ID:Int => 1474266187 ) : ( ( 0 => C_TGOVERNANCE_ESCROW_ID:Int ) : ( ( 128 => 0 ) : ( ( 4 => 51 ) : ( ( 128 => 2061189261 ) : ( ( 32 : ( 132 : ( 1474266187 : ( C_TGOVERNANCE_ESCROW_ID:Int : ( 0 : ( 51 : ( 2061189261 : .WordStack ) ) ) ) ) ) ) => .WordStack ) ) ) ) ) ) ) + ( .WordStack => ( 1 : ( 132 : ( 1474266187 : ( C_TGOVERNANCE_ESCROW_ID:Int : ( 0 : ( 51 : ( 2061189261 : .WordStack ) ) ) ) ) ) ) ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00W\xdf\x84K\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + ( b"" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00W\xdf\x84K\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" ) 0 @@ -1050,7 +719,7 @@ module SUMMARY-TEST%TGOVERNANCE.GETESCROWTOKENTOTALSUPPLY():0 false - DEPTH_CELL:Int + CALLDEPTH_CELL:Int ... @@ -1064,7 +733,7 @@ module SUMMARY-TEST%TGOVERNANCE.GETESCROWTOKENTOTALSUPPLY():0 ... - NOG:Int + ORIGIN_ID:Int @@ -1138,27 +807,15 @@ module SUMMARY-TEST%TGOVERNANCE.GETESCROWTOKENTOTALSUPPLY():0 - - NCL:Int - - - NOG:Int - - true + false - - DEPTH_CELL:Int - ... - ISREVERTEXPECTED_CELL:Bool + false - - EXPECTEDDEPTH_CELL:Int - ... @@ -1210,2377 +867,46 @@ module SUMMARY-TEST%TGOVERNANCE.GETESCROWTOKENTOTALSUPPLY():0 - requires ( _ACTIVE_CELL:Bool - andBool ( _CALLDEPTH_CELL:Int ==Int DEPTH_CELL:Int - andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _NEWORIGIN_CELL:Account ==K NOG:Int - andBool ( 0 <=Int CALLER_ID:Int + requires ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int andBool ( 0 <=Int C_TGOVERNANCE_ID:Int + andBool ( CALLDEPTH_CELL:Int - C_TGOVERNANCE_ID:Int - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) - andBool ( ( notBool - C_TGOVERNANCE_ESCROW_ID:Int - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) - andBool ( ( notBool - C_TGOVERNANCE_ESCROW_TOKEN_ID:Int - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) - andBool ( ( notBool #range ( 0 < CALLER_ID:Int <= 10 ) ) - andBool ( ( notBool #range ( 0 < ORIGIN_ID:Int <= 10 ) ) - andBool ( ( notBool #range ( 0 < C_TGOVERNANCE_ID:Int <= 10 ) ) - andBool ( ( notBool #range ( 0 < C_TGOVERNANCE_ESCROW_ID:Int <= 10 ) ) - andBool ( ( notBool ( DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ISREVERTEXPECTED_CELL:Bool ) ) - andBool ( ( notBool #range ( 0 < C_TGOVERNANCE_ESCROW_TOKEN_ID:Int <= 10 ) ) - )))))))))))))))))))))))))))))))))))))))))))))))))))) - [priority(20), label(BASIC-BLOCK-9-TO-16)] - - rule [BASIC-BLOCK-10-TO-17]: - - - ( #next [ CALL ] ~> .K => #checkBalanceUnderflow NCL:Int 0 - ~> #checkDepthExceeded - ~> #call NCL:Int C_TGOVERNANCE_ESCROW_ID:Int C_TGOVERNANCE_ESCROW_ID:Int 0 0 b"W\xdf\x84K" false - ~> #return 128 32 - ~> #pc [ CALL ] ) - ~> #endPrank - ~> #execute - ~> _CONTINUATION:K - - - NORMAL - - - CANCUN - - - false - - - - - - NCL:Int - - - CALLER_ID:Int - - - b"z\xdb@\x8d" - - - 0 - - - ( ( 0 => 132 ) : ( ( C_TGOVERNANCE_ESCROW_ID:Int => 1474266187 ) : ( ( 0 => C_TGOVERNANCE_ESCROW_ID:Int ) : ( ( 128 => 0 ) : ( ( 4 => 51 ) : ( ( 128 => 2061189261 ) : ( ( 32 : ( 132 : ( 1474266187 : ( C_TGOVERNANCE_ESCROW_ID:Int : ( 0 : ( 51 : ( 2061189261 : .WordStack ) ) ) ) ) ) ) => .WordStack ) ) ) ) ) ) ) - - - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00W\xdf\x84K\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" - - - 0 - - - 0 - - - false - - - DEPTH_CELL:Int - - ... - - - - 0 - - - ( ACCESSEDACCOUNTS_CELL:Set => ACCESSEDACCOUNTS_CELL:Set |Set SetItem ( C_TGOVERNANCE_ESCROW_ID:Int ) ) - - ... - - - ORIGIN_ID:Int - - - - NUMBER_CELL:Int - - - TIMESTAMP_CELL:Int - - ... - - ... - - - - 1 - - - ( - - C_TGOVERNANCE_ESCROW_ID:Int - - - C_TGOVERNANCE_ESCROW_BAL:Int - - - ( ( 0 |-> #asWord ( C_TGOVERNANCE_ESCROW_TOKEN_SLOT_BEFORE:Bytes +Bytes #buf ( 20 , C_TGOVERNANCE_ESCROW_TOKEN_ID:Int ) +Bytes C_TGOVERNANCE_ESCROW_TOKEN_SLOT_AFTER:Bytes ) ) - C_TGOVERNANCE_ESCROW_STORAGE:Map ) - - - C_TGOVERNANCE_ESCROW_NONCE:Int - - ... - - ( - - C_TGOVERNANCE_ESCROW_TOKEN_ID:Int - - - C_TGOVERNANCE_ESCROW_TOKEN_BAL:Int - - - C_TGOVERNANCE_ESCROW_TOKEN_NONCE:Int - - ... - - ( - - C_TGOVERNANCE_ID:Int - - - C_TGOVERNANCE_BAL:Int - - - ( ( 0 |-> C_TGOVERNANCE_ESCROW_ID:Int ) - C_TGOVERNANCE_STORAGE:Map ) - - - C_TGOVERNANCE_NONCE:Int - - ... - - ACCOUNTS_REST:AccountCellMap ) ) ) - - ... - - - ... - - - true - - - - - NCL:Int - - - .Account - - - true - - - DEPTH_CELL:Int - - ... - - - - ISREVERTEXPECTED_CELL:Bool - - - EXPECTEDDEPTH_CELL:Int - - ... - - - - false - - ... - - - - false - - - .List - - - false - - - .List - - - - .MockCallCellMap - - - .MockFunctionCellMap - - ... - - - - false - - - false - - - false - - - false - - - false - - - .List - - - - requires ( _ACTIVE_CELL:Bool - andBool ( _CALLDEPTH_CELL:Int ==Int DEPTH_CELL:Int - andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _NEWORIGIN_CELL:Account ==K .Account - andBool ( 0 <=Int CALLER_ID:Int - andBool ( 0 <=Int ORIGIN_ID:Int - andBool ( 0 <=Int C_TGOVERNANCE_ID:Int - andBool ( 0 <=Int C_TGOVERNANCE_BAL:Int - andBool ( pow24 - C_TGOVERNANCE_ID:Int - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) - andBool ( ( notBool - C_TGOVERNANCE_ESCROW_ID:Int - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) - andBool ( ( notBool - C_TGOVERNANCE_ESCROW_TOKEN_ID:Int - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) - andBool ( ( notBool #range ( 0 < CALLER_ID:Int <= 10 ) ) - andBool ( ( notBool #range ( 0 < ORIGIN_ID:Int <= 10 ) ) - andBool ( ( notBool #range ( 0 < C_TGOVERNANCE_ID:Int <= 10 ) ) - andBool ( ( notBool #range ( 0 < C_TGOVERNANCE_ESCROW_ID:Int <= 10 ) ) - andBool ( ( notBool ( DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ISREVERTEXPECTED_CELL:Bool ) ) - andBool ( ( notBool #range ( 0 < C_TGOVERNANCE_ESCROW_TOKEN_ID:Int <= 10 ) ) - )))))))))))))))))))))))))))))))))))))))))))))))))))) - [priority(20), label(BASIC-BLOCK-10-TO-17)] - - rule [BASIC-BLOCK-14-TO-25]: - - - ( #next [ CALL ] ~> .K => #injectPrank - ~> #next [ CALL ] - ~> #endPrank ) - ~> #checkRevert - ~> #updateRevertOutput 128 32 - ~> #execute - ~> _CONTINUATION:K - - - NORMAL - - - CANCUN - - - false - - - - - - C_TGOVERNANCE_ID:Int - - - CALLER_ID:Int - - - b"z\xdb@\x8d" - - - 0 - - - ( 0 : ( C_TGOVERNANCE_ESCROW_ID:Int : ( 0 : ( 128 : ( 4 : ( 128 : ( 32 : ( 132 : ( 1474266187 : ( C_TGOVERNANCE_ESCROW_ID:Int : ( 0 : ( 51 : ( 2061189261 : .WordStack ) ) ) ) ) ) ) ) ) ) ) ) ) - - - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00W\xdf\x84K\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" - - - 0 - - - 0 - - - false - - - EXPECTEDDEPTH_CELL:Int - - ... - - - - 0 - - ... - - - ORIGIN_ID:Int - - - - NUMBER_CELL:Int - - - TIMESTAMP_CELL:Int - - ... - - ... - - - - 1 - - - ( - - C_TGOVERNANCE_ESCROW_ID:Int - - - C_TGOVERNANCE_ESCROW_BAL:Int - - - ( ( 0 |-> #asWord ( C_TGOVERNANCE_ESCROW_TOKEN_SLOT_BEFORE:Bytes +Bytes #buf ( 20 , C_TGOVERNANCE_ESCROW_TOKEN_ID:Int ) +Bytes C_TGOVERNANCE_ESCROW_TOKEN_SLOT_AFTER:Bytes ) ) - C_TGOVERNANCE_ESCROW_STORAGE:Map ) - - - C_TGOVERNANCE_ESCROW_NONCE:Int - - ... - - ( - - C_TGOVERNANCE_ESCROW_TOKEN_ID:Int - - - C_TGOVERNANCE_ESCROW_TOKEN_BAL:Int - - - C_TGOVERNANCE_ESCROW_TOKEN_NONCE:Int - - ... - - ( - - C_TGOVERNANCE_ID:Int - - - C_TGOVERNANCE_BAL:Int - - - ( ( 0 |-> C_TGOVERNANCE_ESCROW_ID:Int ) - C_TGOVERNANCE_STORAGE:Map ) - - - C_TGOVERNANCE_NONCE:Int - - ... - - ACCOUNTS_REST:AccountCellMap ) ) ) - - ... - - - ... - - - true - - - - - NEWCALLER_CELL:Account - - - ( ACTIVE_CELL:Bool => true ) - - - ( DEPTH_CELL:Int => EXPECTEDDEPTH_CELL:Int ) - - ... - - - - true - - - EXPECTEDDEPTH_CELL:Int - - ... - - - - false - - ... - - - - false - - - .List - - - false - - - .List - - - - .MockCallCellMap - - - .MockFunctionCellMap - - ... - - - - false - - - false - - - false - - - false - - - false - - - .List - - - - requires ( ACTIVE_CELL:Bool - andBool ( _ISREVERTEXPECTED_CELL:Bool - andBool ( DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( 0 <=Int CALLER_ID:Int - andBool ( 0 <=Int ORIGIN_ID:Int - andBool ( 0 <=Int C_TGOVERNANCE_ID:Int - andBool ( 0 <=Int C_TGOVERNANCE_BAL:Int - andBool ( pow24 - C_TGOVERNANCE_ID:Int - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) - andBool ( ( notBool - C_TGOVERNANCE_ESCROW_ID:Int - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) - andBool ( ( notBool - C_TGOVERNANCE_ESCROW_TOKEN_ID:Int - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) - andBool ( ( notBool #range ( 0 < CALLER_ID:Int <= 10 ) ) - andBool ( ( notBool #range ( 0 < ORIGIN_ID:Int <= 10 ) ) - andBool ( ( notBool #range ( 0 < C_TGOVERNANCE_ID:Int <= 10 ) ) - andBool ( ( notBool #range ( 0 < C_TGOVERNANCE_ESCROW_ID:Int <= 10 ) ) - andBool ( ( notBool #range ( 0 < C_TGOVERNANCE_ESCROW_TOKEN_ID:Int <= 10 ) ) - ))))))))))))))))))))))))))))))))))))))))))))))))))) - ensures NEWCALLER_CELL:Account ~> .K =/=K C_TGOVERNANCE_ID:Int ~> .K - [priority(20), label(BASIC-BLOCK-14-TO-25)] - - rule [BASIC-BLOCK-18-TO-38]: - - - ( #next [ CALL ] ~> .K => #checkBalanceUnderflow NCL:Int 0 - ~> #checkDepthExceeded - ~> #call NCL:Int C_TGOVERNANCE_ESCROW_ID:Int C_TGOVERNANCE_ESCROW_ID:Int 0 0 b"W\xdf\x84K" false - ~> #return 128 32 - ~> #pc [ CALL ] ) - ~> #endPrank - ~> #execute - ~> _CONTINUATION:K - - - NORMAL - - - CANCUN - - - false - - - - - - NCL:Int - - - CALLER_ID:Int - - - b"z\xdb@\x8d" - - - 0 - - - ( ( 0 => 132 ) : ( ( C_TGOVERNANCE_ESCROW_ID:Int => 1474266187 ) : ( ( 0 => C_TGOVERNANCE_ESCROW_ID:Int ) : ( ( 128 => 0 ) : ( ( 4 => 51 ) : ( ( 128 => 2061189261 ) : ( ( 32 : ( 132 : ( 1474266187 : ( C_TGOVERNANCE_ESCROW_ID:Int : ( 0 : ( 51 : ( 2061189261 : .WordStack ) ) ) ) ) ) ) => .WordStack ) ) ) ) ) ) ) - - - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00W\xdf\x84K\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" - - - 0 - - - 0 - - - false - - - DEPTH_CELL:Int - - ... - - - - 0 - - - ( ACCESSEDACCOUNTS_CELL:Set => ACCESSEDACCOUNTS_CELL:Set |Set SetItem ( C_TGOVERNANCE_ESCROW_ID:Int ) ) - - ... - - - NOG0:Int - - - - NUMBER_CELL:Int - - - TIMESTAMP_CELL:Int - - ... - - ... - - - - 1 - - - ( - - C_TGOVERNANCE_ESCROW_ID:Int - - - C_TGOVERNANCE_ESCROW_BAL:Int - - - ( ( 0 |-> #asWord ( C_TGOVERNANCE_ESCROW_TOKEN_SLOT_BEFORE:Bytes +Bytes #buf ( 20 , C_TGOVERNANCE_ESCROW_TOKEN_ID:Int ) +Bytes C_TGOVERNANCE_ESCROW_TOKEN_SLOT_AFTER:Bytes ) ) - C_TGOVERNANCE_ESCROW_STORAGE:Map ) - - - C_TGOVERNANCE_ESCROW_NONCE:Int - - ... - - ( - - C_TGOVERNANCE_ESCROW_TOKEN_ID:Int - - - C_TGOVERNANCE_ESCROW_TOKEN_BAL:Int - - - C_TGOVERNANCE_ESCROW_TOKEN_NONCE:Int - - ... - - ( - - C_TGOVERNANCE_ID:Int - - - C_TGOVERNANCE_BAL:Int - - - ( ( 0 |-> C_TGOVERNANCE_ESCROW_ID:Int ) - C_TGOVERNANCE_STORAGE:Map ) - - - C_TGOVERNANCE_NONCE:Int - - ... - - ACCOUNTS_REST:AccountCellMap ) ) ) - - ... - - - ... - - - true - - - - - NCL:Int - - - NOG0:Int - - - true - - - DEPTH_CELL:Int - - ... - - - - ISREVERTEXPECTED_CELL:Bool - - - EXPECTEDDEPTH_CELL:Int - - ... - - - - false - - ... - - - - false - - - .List - - - false - - - .List - - - - .MockCallCellMap - - - .MockFunctionCellMap - - ... - - - - false - - - false - - - false - - - false - - - false - - - .List - - - - requires ( _ACTIVE_CELL:Bool - andBool ( _CALLDEPTH_CELL:Int ==Int DEPTH_CELL:Int - andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _NEWORIGIN_CELL:Account ==K NOG0:Int - andBool ( 0 <=Int CALLER_ID:Int - andBool ( 0 <=Int ORIGIN_ID:Int - andBool ( 0 <=Int C_TGOVERNANCE_ID:Int - andBool ( 0 <=Int C_TGOVERNANCE_BAL:Int - andBool ( pow24 - C_TGOVERNANCE_ID:Int - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) - andBool ( ( notBool - C_TGOVERNANCE_ESCROW_ID:Int - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) - andBool ( ( notBool - C_TGOVERNANCE_ESCROW_TOKEN_ID:Int - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) - andBool ( ( notBool #range ( 0 < CALLER_ID:Int <= 10 ) ) - andBool ( ( notBool #range ( 0 < ORIGIN_ID:Int <= 10 ) ) - andBool ( ( notBool #range ( 0 < C_TGOVERNANCE_ID:Int <= 10 ) ) - andBool ( ( notBool #range ( 0 < C_TGOVERNANCE_ESCROW_ID:Int <= 10 ) ) - andBool ( ( notBool ( DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ISREVERTEXPECTED_CELL:Bool ) ) - andBool ( ( notBool #range ( 0 < C_TGOVERNANCE_ESCROW_TOKEN_ID:Int <= 10 ) ) - ))))))))))))))))))))))))))))))))))))))))))))))))))))) - [priority(20), label(BASIC-BLOCK-18-TO-38)] - - rule [BASIC-BLOCK-22-TO-43]: - - - ( #next [ CALL ] ~> .K => #checkBalanceUnderflow NCL:Int 0 - ~> #checkDepthExceeded - ~> #call NCL:Int C_TGOVERNANCE_ESCROW_ID:Int C_TGOVERNANCE_ESCROW_ID:Int 0 0 b"W\xdf\x84K" false - ~> #return 128 32 - ~> #pc [ CALL ] ) - ~> #endPrank - ~> #checkRevert - ~> #updateRevertOutput 128 32 - ~> #execute - ~> _CONTINUATION:K - - - NORMAL - - - CANCUN - - - false - - - - - - NCL:Int - - - CALLER_ID:Int - - - b"z\xdb@\x8d" - - - 0 - - - ( ( 0 => 132 ) : ( ( C_TGOVERNANCE_ESCROW_ID:Int => 1474266187 ) : ( ( 0 => C_TGOVERNANCE_ESCROW_ID:Int ) : ( ( 128 => 0 ) : ( ( 4 => 51 ) : ( ( 128 => 2061189261 ) : ( ( 32 : ( 132 : ( 1474266187 : ( C_TGOVERNANCE_ESCROW_ID:Int : ( 0 : ( 51 : ( 2061189261 : .WordStack ) ) ) ) ) ) ) => .WordStack ) ) ) ) ) ) ) - - - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00W\xdf\x84K\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" - - - 0 - - - 0 - - - false - - - EXPECTEDDEPTH_CELL:Int - - ... - - - - 0 - - - ( ACCESSEDACCOUNTS_CELL:Set => ACCESSEDACCOUNTS_CELL:Set |Set SetItem ( C_TGOVERNANCE_ESCROW_ID:Int ) ) - - ... - - - NOG:Int - - - - NUMBER_CELL:Int - - - TIMESTAMP_CELL:Int - - ... - - ... - - - - 1 - - - ( - - C_TGOVERNANCE_ESCROW_ID:Int - - - C_TGOVERNANCE_ESCROW_BAL:Int - - - ( ( 0 |-> #asWord ( C_TGOVERNANCE_ESCROW_TOKEN_SLOT_BEFORE:Bytes +Bytes #buf ( 20 , C_TGOVERNANCE_ESCROW_TOKEN_ID:Int ) +Bytes C_TGOVERNANCE_ESCROW_TOKEN_SLOT_AFTER:Bytes ) ) - C_TGOVERNANCE_ESCROW_STORAGE:Map ) - - - C_TGOVERNANCE_ESCROW_NONCE:Int - - ... - - ( - - C_TGOVERNANCE_ESCROW_TOKEN_ID:Int - - - C_TGOVERNANCE_ESCROW_TOKEN_BAL:Int - - - C_TGOVERNANCE_ESCROW_TOKEN_NONCE:Int - - ... - - ( - - C_TGOVERNANCE_ID:Int - - - C_TGOVERNANCE_BAL:Int - - - ( ( 0 |-> C_TGOVERNANCE_ESCROW_ID:Int ) - C_TGOVERNANCE_STORAGE:Map ) - - - C_TGOVERNANCE_NONCE:Int - - ... - - ACCOUNTS_REST:AccountCellMap ) ) ) - - ... - - - ... - - - true - - - - - NCL:Int - - - NOG:Int - - - true - - - EXPECTEDDEPTH_CELL:Int - - ... - - - - true - - - EXPECTEDDEPTH_CELL:Int - - ... - - - - false - - ... - - - - false - - - .List - - - false - - - .List - - - - .MockCallCellMap - - - .MockFunctionCellMap - - ... - - - - false - - - false - - - false - - - false - - - false - - - .List - - - - requires ( _ACTIVE_CELL:Bool - andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _NEWORIGIN_CELL:Account ==K NOG:Int - andBool ( _ISREVERTEXPECTED_CELL:Bool - andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( 0 <=Int CALLER_ID:Int - andBool ( 0 <=Int ORIGIN_ID:Int - andBool ( 0 <=Int C_TGOVERNANCE_ID:Int - andBool ( 0 <=Int C_TGOVERNANCE_BAL:Int - andBool ( pow24 - C_TGOVERNANCE_ID:Int - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) - andBool ( ( notBool - C_TGOVERNANCE_ESCROW_ID:Int - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) - andBool ( ( notBool - C_TGOVERNANCE_ESCROW_TOKEN_ID:Int - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) - andBool ( ( notBool #range ( 0 < CALLER_ID:Int <= 10 ) ) - andBool ( ( notBool #range ( 0 < ORIGIN_ID:Int <= 10 ) ) - andBool ( ( notBool #range ( 0 < C_TGOVERNANCE_ID:Int <= 10 ) ) - andBool ( ( notBool #range ( 0 < C_TGOVERNANCE_ESCROW_ID:Int <= 10 ) ) - andBool ( ( notBool #range ( 0 < C_TGOVERNANCE_ESCROW_TOKEN_ID:Int <= 10 ) ) - ))))))))))))))))))))))))))))))))))))))))))))))))))))) - [priority(20), label(BASIC-BLOCK-22-TO-43)] - - rule [BASIC-BLOCK-23-TO-44]: - - - ( #next [ CALL ] ~> .K => #checkBalanceUnderflow NCL:Int 0 - ~> #checkDepthExceeded - ~> #call NCL:Int C_TGOVERNANCE_ESCROW_ID:Int C_TGOVERNANCE_ESCROW_ID:Int 0 0 b"W\xdf\x84K" false - ~> #return 128 32 - ~> #pc [ CALL ] ) - ~> #endPrank - ~> #checkRevert - ~> #updateRevertOutput 128 32 - ~> #execute - ~> _CONTINUATION:K - - - NORMAL - - - CANCUN - - - false - - - - - - NCL:Int - - - CALLER_ID:Int - - - b"z\xdb@\x8d" - - - 0 - - - ( ( 0 => 132 ) : ( ( C_TGOVERNANCE_ESCROW_ID:Int => 1474266187 ) : ( ( 0 => C_TGOVERNANCE_ESCROW_ID:Int ) : ( ( 128 => 0 ) : ( ( 4 => 51 ) : ( ( 128 => 2061189261 ) : ( ( 32 : ( 132 : ( 1474266187 : ( C_TGOVERNANCE_ESCROW_ID:Int : ( 0 : ( 51 : ( 2061189261 : .WordStack ) ) ) ) ) ) ) => .WordStack ) ) ) ) ) ) ) - - - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00W\xdf\x84K\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" - - - 0 - - - 0 - - - false - - - EXPECTEDDEPTH_CELL:Int - - ... - - - - 0 - - - ( ACCESSEDACCOUNTS_CELL:Set => ACCESSEDACCOUNTS_CELL:Set |Set SetItem ( C_TGOVERNANCE_ESCROW_ID:Int ) ) - - ... - - - ORIGIN_ID:Int - - - - NUMBER_CELL:Int - - - TIMESTAMP_CELL:Int - - ... - - ... - - - - 1 - - - ( - - C_TGOVERNANCE_ESCROW_ID:Int - - - C_TGOVERNANCE_ESCROW_BAL:Int - - - ( ( 0 |-> #asWord ( C_TGOVERNANCE_ESCROW_TOKEN_SLOT_BEFORE:Bytes +Bytes #buf ( 20 , C_TGOVERNANCE_ESCROW_TOKEN_ID:Int ) +Bytes C_TGOVERNANCE_ESCROW_TOKEN_SLOT_AFTER:Bytes ) ) - C_TGOVERNANCE_ESCROW_STORAGE:Map ) - - - C_TGOVERNANCE_ESCROW_NONCE:Int - - ... - - ( - - C_TGOVERNANCE_ESCROW_TOKEN_ID:Int - - - C_TGOVERNANCE_ESCROW_TOKEN_BAL:Int - - - C_TGOVERNANCE_ESCROW_TOKEN_NONCE:Int - - ... - - ( - - C_TGOVERNANCE_ID:Int - - - C_TGOVERNANCE_BAL:Int - - - ( ( 0 |-> C_TGOVERNANCE_ESCROW_ID:Int ) - C_TGOVERNANCE_STORAGE:Map ) - - - C_TGOVERNANCE_NONCE:Int - - ... - - ACCOUNTS_REST:AccountCellMap ) ) ) - - ... - - - ... - - - true - - - - - NCL:Int - - - .Account - - - true - - - EXPECTEDDEPTH_CELL:Int - - ... - - - - true - - - EXPECTEDDEPTH_CELL:Int - - ... - - - - false - - ... - - - - false - - - .List - - - false - - - .List - - - - .MockCallCellMap - - - .MockFunctionCellMap - - ... - - - - false - - - false - - - false - - - false - - - false - - - .List - - - - requires ( _ACTIVE_CELL:Bool - andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _ISREVERTEXPECTED_CELL:Bool - andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( _NEWORIGIN_CELL:Account ==K .Account - andBool ( 0 <=Int CALLER_ID:Int - andBool ( 0 <=Int ORIGIN_ID:Int - andBool ( 0 <=Int C_TGOVERNANCE_ID:Int - andBool ( 0 <=Int C_TGOVERNANCE_BAL:Int - andBool ( pow24 - C_TGOVERNANCE_ID:Int - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) - andBool ( ( notBool - C_TGOVERNANCE_ESCROW_ID:Int - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) - andBool ( ( notBool - C_TGOVERNANCE_ESCROW_TOKEN_ID:Int - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) - andBool ( ( notBool #range ( 0 < CALLER_ID:Int <= 10 ) ) - andBool ( ( notBool #range ( 0 < ORIGIN_ID:Int <= 10 ) ) - andBool ( ( notBool #range ( 0 < C_TGOVERNANCE_ID:Int <= 10 ) ) - andBool ( ( notBool #range ( 0 < C_TGOVERNANCE_ESCROW_ID:Int <= 10 ) ) - andBool ( ( notBool #range ( 0 < C_TGOVERNANCE_ESCROW_TOKEN_ID:Int <= 10 ) ) - ))))))))))))))))))))))))))))))))))))))))))))))))))))) - [priority(20), label(BASIC-BLOCK-23-TO-44)] - - rule [BASIC-BLOCK-26-TO-50]: - - - ( #next [ CALL ] ~> .K => #injectPrank - ~> #next [ CALL ] - ~> #endPrank ) - ~> #checkRevert - ~> #updateRevertOutput 128 32 - ~> #execute - ~> _CONTINUATION:K - - - NORMAL - - - CANCUN - - - false - - - - - - C_TGOVERNANCE_ID:Int - - - CALLER_ID:Int - - - b"z\xdb@\x8d" - - - 0 - - - ( 0 : ( C_TGOVERNANCE_ESCROW_ID:Int : ( 0 : ( 128 : ( 4 : ( 128 : ( 32 : ( 132 : ( 1474266187 : ( C_TGOVERNANCE_ESCROW_ID:Int : ( 0 : ( 51 : ( 2061189261 : .WordStack ) ) ) ) ) ) ) ) ) ) ) ) ) - - - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00W\xdf\x84K\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" - - - 0 - - - 0 - - - false - - - EXPECTEDDEPTH_CELL:Int - - ... - - - - 0 - - ... - - - ORIGIN_ID:Int - - - - NUMBER_CELL:Int - - - TIMESTAMP_CELL:Int - - ... - - ... - - - - 1 - - - ( - - C_TGOVERNANCE_ESCROW_ID:Int - - - C_TGOVERNANCE_ESCROW_BAL:Int - - - ( ( 0 |-> #asWord ( C_TGOVERNANCE_ESCROW_TOKEN_SLOT_BEFORE:Bytes +Bytes #buf ( 20 , C_TGOVERNANCE_ESCROW_TOKEN_ID:Int ) +Bytes C_TGOVERNANCE_ESCROW_TOKEN_SLOT_AFTER:Bytes ) ) - C_TGOVERNANCE_ESCROW_STORAGE:Map ) - - - C_TGOVERNANCE_ESCROW_NONCE:Int - - ... - - ( - - C_TGOVERNANCE_ESCROW_TOKEN_ID:Int - - - C_TGOVERNANCE_ESCROW_TOKEN_BAL:Int - - - C_TGOVERNANCE_ESCROW_TOKEN_NONCE:Int - - ... - - ( - - C_TGOVERNANCE_ID:Int - - - C_TGOVERNANCE_BAL:Int - - - ( ( 0 |-> C_TGOVERNANCE_ESCROW_ID:Int ) - C_TGOVERNANCE_STORAGE:Map ) - - - C_TGOVERNANCE_NONCE:Int - - ... - - ACCOUNTS_REST:AccountCellMap ) ) ) - - ... - - - ... - - - true - - - - - NEWCALLER_CELL:Account - - - ( ACTIVE_CELL:Bool => true ) - - - ( DEPTH_CELL:Int => EXPECTEDDEPTH_CELL:Int ) - - ... - - - - true - - - EXPECTEDDEPTH_CELL:Int - - ... - - - - false - - ... - - - - false - - - .List - - - false - - - .List - - - - .MockCallCellMap - - - .MockFunctionCellMap - - ... - - - - false - - - false - - - false - - - false - - - false - - - .List - - - - requires ( ACTIVE_CELL:Bool - andBool ( _ISREVERTEXPECTED_CELL:Bool - andBool ( DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( 0 <=Int CALLER_ID:Int - andBool ( 0 <=Int ORIGIN_ID:Int - andBool ( 0 <=Int C_TGOVERNANCE_ID:Int - andBool ( 0 <=Int C_TGOVERNANCE_BAL:Int - andBool ( pow24 - C_TGOVERNANCE_ID:Int - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) - andBool ( ( notBool - C_TGOVERNANCE_ESCROW_ID:Int - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) - andBool ( ( notBool - C_TGOVERNANCE_ESCROW_TOKEN_ID:Int - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) - andBool ( ( notBool #range ( 0 < CALLER_ID:Int <= 10 ) ) - andBool ( ( notBool #range ( 0 < ORIGIN_ID:Int <= 10 ) ) - andBool ( ( notBool #range ( 0 < C_TGOVERNANCE_ID:Int <= 10 ) ) - andBool ( ( notBool #range ( 0 < C_TGOVERNANCE_ESCROW_ID:Int <= 10 ) ) - andBool ( ( notBool #range ( 0 < C_TGOVERNANCE_ESCROW_TOKEN_ID:Int <= 10 ) ) - ))))))))))))))))))))))))))))))))))))))))))))))))))) - ensures NEWCALLER_CELL:Account ~> .K =/=K C_TGOVERNANCE_ID:Int ~> .K - [priority(20), label(BASIC-BLOCK-26-TO-50)] - - rule [BASIC-BLOCK-53-TO-41]: - - - ( #addr [ CALL ] - ~> #exec [ CALL ] => #next [ CALL ] - ~> #execute - ~> #return 128 32 ) - ~> #pc [ CALL ] - ~> #execute - ~> _CONTINUATION:K - - - NORMAL - - - CANCUN - - - false - - - - - ( _OUTPUT_CELL:Bytes => b"" ) - - - ( CALLSTACK_CELL:List => ListItem ( - - C_TGOVERNANCE_ID:Int - - - CALLER_ID:Int - - - b"z\xdb@\x8d" - - - 0 - - - ( 132 : ( 1474266187 : ( C_TGOVERNANCE_ESCROW_ID:Int : ( 0 : ( 51 : ( 2061189261 : .WordStack ) ) ) ) ) ) - - - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00W\xdf\x84K\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" - - - 0 - - - 0 - - - false - - - CALLDEPTH_CELL:Int - - ... - ) CALLSTACK_CELL:List ) - - - ( INTERIMSTATES_CELL:List => ListItem ( { - ( - - C_TGOVERNANCE_ESCROW_ID:Int - - - C_TGOVERNANCE_ESCROW_BAL:Int - - - ( ( 0 |-> #asWord ( C_TGOVERNANCE_ESCROW_TOKEN_SLOT_BEFORE:Bytes +Bytes #buf ( 20 , C_TGOVERNANCE_ESCROW_TOKEN_ID:Int ) +Bytes C_TGOVERNANCE_ESCROW_TOKEN_SLOT_AFTER:Bytes ) ) - C_TGOVERNANCE_ESCROW_STORAGE:Map ) - - - C_TGOVERNANCE_ESCROW_ORIGSTORAGE:Map - - - C_TGOVERNANCE_ESCROW_TRANSIENTSTORAGE:Map - - - C_TGOVERNANCE_ESCROW_NONCE:Int - - ... - - ( - - C_TGOVERNANCE_ESCROW_TOKEN_ID:Int - - - C_TGOVERNANCE_ESCROW_TOKEN_BAL:Int - - - C_TGOVERNANCE_ESCROW_TOKEN_STORAGE:Map - - - C_TGOVERNANCE_ESCROW_TOKEN_ORIGSTORAGE:Map - - - C_TGOVERNANCE_ESCROW_TOKEN_TRANSIENTSTORAGE:Map - - - C_TGOVERNANCE_ESCROW_TOKEN_NONCE:Int - - ... - - ( - - C_TGOVERNANCE_ID:Int - - - C_TGOVERNANCE_BAL:Int - - - ( ( 0 |-> C_TGOVERNANCE_ESCROW_ID:Int ) - C_TGOVERNANCE_STORAGE:Map ) - - - C_TGOVERNANCE_ORIGSTORAGE:Map - - - C_TGOVERNANCE_TRANSIENTSTORAGE:Map - - - C_TGOVERNANCE_NONCE:Int - - ... - - ACCOUNTS_REST:AccountCellMap ) ) ) - | - - SELFDESTRUCT_CELL:Set - - - LOG_CELL:List - - - 0 - - - ACCESSEDACCOUNTS_CELL:Set |Set SetItem ( C_TGOVERNANCE_ESCROW_ID:Int ) - - - ACCESSEDSTORAGE_CELL:Map - - - CREATEDACCOUNTS_CELL:Set - - } ) INTERIMSTATES_CELL:List ) - - - ( TOUCHEDACCOUNTS_CELL:Set => TOUCHEDACCOUNTS_CELL:Set |Set SetItem ( C_TGOVERNANCE_ID:Int ) |Set SetItem ( C_TGOVERNANCE_ESCROW_ID:Int ) ) - - - - ( C_TGOVERNANCE_ID:Int => C_TGOVERNANCE_ESCROW_ID:Int ) - - - ( CALLER_ID:Int => C_TGOVERNANCE_ID:Int ) - - - ( b"z\xdb@\x8d" => b"W\xdf\x84K" ) - - - 0 - - - ( 0 : ( ( C_TGOVERNANCE_ESCROW_ID:Int => C_TGOVERNANCE_ESCROW_TOKEN_ID:Int ) : ( 0 : ( 128 : ( 4 : ( 128 : ( 32 : ( 132 : ( ( 1474266187 => 3303283490 ) : ( ( C_TGOVERNANCE_ESCROW_ID:Int => C_TGOVERNANCE_ESCROW_TOKEN_ID:Int ) : ( 0 : ( ( 51 => 56 ) : ( ( 2061189261 => 1474266187 ) : .WordStack ) ) ) ) ) ) ) ) ) ) ) ) ) - - - ( b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00W\xdf\x84K\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc4\xe4\x1b\"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" ) - - - 0 - - - 0 - - - false - - - ( CALLDEPTH_CELL:Int => ( CALLDEPTH_CELL:Int +Int 1 ) ) - - ... - - - - SELFDESTRUCT_CELL:Set - - - LOG_CELL:List - - - 0 - - - ( ACCESSEDACCOUNTS_CELL:Set => ACCESSEDACCOUNTS_CELL:Set |Set SetItem ( C_TGOVERNANCE_ESCROW_ID:Int ) |Set SetItem ( C_TGOVERNANCE_ID:Int ) ) - - - ACCESSEDSTORAGE_CELL:Map - - - CREATEDACCOUNTS_CELL:Set - - - - ORIGIN_ID:Int - - - - NUMBER_CELL:Int - - - TIMESTAMP_CELL:Int - - ... - - ... - - - - 1 - - - ( - - C_TGOVERNANCE_ESCROW_ID:Int - - - C_TGOVERNANCE_ESCROW_BAL:Int - - - ( ( 0 |-> #asWord ( C_TGOVERNANCE_ESCROW_TOKEN_SLOT_BEFORE:Bytes +Bytes #buf ( 20 , C_TGOVERNANCE_ESCROW_TOKEN_ID:Int ) +Bytes C_TGOVERNANCE_ESCROW_TOKEN_SLOT_AFTER:Bytes ) ) - C_TGOVERNANCE_ESCROW_STORAGE:Map ) - - - C_TGOVERNANCE_ESCROW_ORIGSTORAGE:Map - - - C_TGOVERNANCE_ESCROW_TRANSIENTSTORAGE:Map - - - C_TGOVERNANCE_ESCROW_NONCE:Int - - ... - - ( - - C_TGOVERNANCE_ESCROW_TOKEN_ID:Int - - - C_TGOVERNANCE_ESCROW_TOKEN_BAL:Int - - - C_TGOVERNANCE_ESCROW_TOKEN_STORAGE:Map - - - C_TGOVERNANCE_ESCROW_TOKEN_ORIGSTORAGE:Map - - - C_TGOVERNANCE_ESCROW_TOKEN_TRANSIENTSTORAGE:Map - - - C_TGOVERNANCE_ESCROW_TOKEN_NONCE:Int - - ... - - ( - - C_TGOVERNANCE_ID:Int - - - C_TGOVERNANCE_BAL:Int - - - ( ( 0 |-> C_TGOVERNANCE_ESCROW_ID:Int ) - C_TGOVERNANCE_STORAGE:Map ) - - - C_TGOVERNANCE_ORIGSTORAGE:Map - - - C_TGOVERNANCE_TRANSIENTSTORAGE:Map - - - C_TGOVERNANCE_NONCE:Int - - ... - - ACCOUNTS_REST:AccountCellMap ) ) ) - - ... - - - ... - - - true - - - - - NEWCALLER_CELL:Account - - - ACTIVE_CELL:Bool - - - DEPTH_CELL:Int - - ... - - - - ISREVERTEXPECTED_CELL:Bool - - - EXPECTEDDEPTH_CELL:Int - - ... - - - - false - - ... - - - - false - - - .List - - - false - - - .List - - - - .MockCallCellMap - - - .MockFunctionCellMap - - ... - - - - false - - - false - - - false - - - false - - - false - - - .List - - - - requires ( 0 <=Int CALLER_ID:Int - andBool ( 0 <=Int ORIGIN_ID:Int - andBool ( 0 <=Int C_TGOVERNANCE_ID:Int - andBool ( CALLDEPTH_CELL:Int - C_TGOVERNANCE_ID:Int - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) - andBool ( ( notBool - C_TGOVERNANCE_ESCROW_ID:Int - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) - andBool ( ( notBool - C_TGOVERNANCE_ESCROW_TOKEN_ID:Int - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) - andBool ( ( notBool #range ( 0 < CALLER_ID:Int <= 10 ) ) - andBool ( ( notBool #range ( 0 < ORIGIN_ID:Int <= 10 ) ) - andBool ( ( notBool #range ( 0 < C_TGOVERNANCE_ID:Int <= 10 ) ) - andBool ( ( notBool #range ( 0 < C_TGOVERNANCE_ESCROW_ID:Int <= 10 ) ) - andBool ( ( notBool #range ( 0 < C_TGOVERNANCE_ESCROW_TOKEN_ID:Int <= 10 ) ) - andBool ( ( notBool ( CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ISREVERTEXPECTED_CELL:Bool ) ) - andBool ( ( notBool ( ACTIVE_CELL:Bool andBool ( CALLDEPTH_CELL:Int ==Int DEPTH_CELL:Int andBool NEWCALLER_CELL:Account =/=K C_TGOVERNANCE_ID:Int ) ) ) - ))))))))))))))))))))))))))))))))))))))))))))))))) - [priority(20), label(BASIC-BLOCK-53-TO-41)] - - rule [BASIC-BLOCK-54-TO-42]: - - - ( #addr [ CALL ] - ~> #exec [ CALL ] - ~> #pc [ CALL ] - ~> #execute => #halt ~> .K ) - ~> _CONTINUATION:K - - - NORMAL - - - CANCUN - - - false - - - - - ( _OUTPUT_CELL:Bytes => b"" ) - - - ( _STATUSCODE:StatusCode => EVMC_REVERT ) - - - - C_TGOVERNANCE_ID:Int - - - CALLER_ID:Int - - - b"z\xdb@\x8d" - - - 0 - - - ( ( 0 => 1 ) : ( ( C_TGOVERNANCE_ESCROW_ID:Int => 132 ) : ( ( 0 => 1474266187 ) : ( ( 128 => C_TGOVERNANCE_ESCROW_ID:Int ) : ( ( 4 => 0 ) : ( ( 128 => 51 ) : ( ( 32 => 2061189261 ) : ( ( 132 : ( 1474266187 : ( C_TGOVERNANCE_ESCROW_ID:Int : ( 0 : ( 51 : ( 2061189261 : .WordStack ) ) ) ) ) ) => .WordStack ) ) ) ) ) ) ) ) - - - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00W\xdf\x84K\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" - - - 0 - - - 0 - - - false - - - CALLDEPTH_CELL:Int - - ... - - - - 0 - - - ( ACCESSEDACCOUNTS_CELL:Set => ACCESSEDACCOUNTS_CELL:Set |Set SetItem ( C_TGOVERNANCE_ESCROW_ID:Int ) ) - - ... - - - ORIGIN_ID:Int - - - - NUMBER_CELL:Int - - - TIMESTAMP_CELL:Int - - ... - - ... - - - - 1 - - - ( - - C_TGOVERNANCE_ESCROW_ID:Int - - - C_TGOVERNANCE_ESCROW_BAL:Int - - - ( ( 0 |-> #asWord ( C_TGOVERNANCE_ESCROW_TOKEN_SLOT_BEFORE:Bytes +Bytes #buf ( 20 , C_TGOVERNANCE_ESCROW_TOKEN_ID:Int ) +Bytes C_TGOVERNANCE_ESCROW_TOKEN_SLOT_AFTER:Bytes ) ) - C_TGOVERNANCE_ESCROW_STORAGE:Map ) - - - C_TGOVERNANCE_ESCROW_NONCE:Int - - ... - - ( - - C_TGOVERNANCE_ESCROW_TOKEN_ID:Int - - - C_TGOVERNANCE_ESCROW_TOKEN_BAL:Int - - - C_TGOVERNANCE_ESCROW_TOKEN_NONCE:Int - - ... - - ( - - C_TGOVERNANCE_ID:Int - - - C_TGOVERNANCE_BAL:Int - - - ( ( 0 |-> C_TGOVERNANCE_ESCROW_ID:Int ) - C_TGOVERNANCE_STORAGE:Map ) - - - C_TGOVERNANCE_NONCE:Int - - ... - - ACCOUNTS_REST:AccountCellMap ) ) ) - - ... - - - ... - - - true - - - - - NEWCALLER_CELL:Account - - - ACTIVE_CELL:Bool - - - DEPTH_CELL:Int - - ... - - - - ISREVERTEXPECTED_CELL:Bool - - - EXPECTEDDEPTH_CELL:Int - - ... - - - - false - - ... - - - - false - - - .List - - - false - - - .List - - - - .MockCallCellMap - - - .MockFunctionCellMap - - ... - - - - false - - - false - - - false - - - false - - - false - - - .List - - - - requires ( 0 <=Int CALLER_ID:Int - andBool ( 0 <=Int ORIGIN_ID:Int - andBool ( 0 <=Int C_TGOVERNANCE_ID:Int - andBool ( 0 <=Int C_TGOVERNANCE_BAL:Int - andBool ( 1024 <=Int CALLDEPTH_CELL:Int - andBool ( pow24 C_TGOVERNANCE_ID:Int in_keys ( ACCOUNTS_REST:AccountCellMap ) ) @@ -3595,9 +921,7 @@ module SUMMARY-TEST%TGOVERNANCE.GETESCROWTOKENTOTALSUPPLY():0 andBool ( ( notBool #range ( 0 < C_TGOVERNANCE_ID:Int <= 10 ) ) andBool ( ( notBool #range ( 0 < C_TGOVERNANCE_ESCROW_ID:Int <= 10 ) ) andBool ( ( notBool #range ( 0 < C_TGOVERNANCE_ESCROW_TOKEN_ID:Int <= 10 ) ) - andBool ( ( notBool ( CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ISREVERTEXPECTED_CELL:Bool ) ) - andBool ( ( notBool ( ACTIVE_CELL:Bool andBool ( CALLDEPTH_CELL:Int ==Int DEPTH_CELL:Int andBool NEWCALLER_CELL:Account =/=K C_TGOVERNANCE_ID:Int ) ) ) - ))))))))))))))))))))))))))))))))))))))))))))))))) - [priority(20), label(BASIC-BLOCK-54-TO-42)] + )))))))))))))))))))))))))))))))))))))))))))))))) + [priority(20), label(BASIC-BLOCK-17-TO-11)] endmodule \ No newline at end of file