Skip to content

Commit b030efa

Browse files
authored
allow consecutive startPranks (#840)
* allow consecutive startPranks * rm empty file
1 parent 51a5620 commit b030efa

4 files changed

Lines changed: 19 additions & 1 deletion

File tree

src/kontrol/kdist/cheatcodes.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1328,7 +1328,7 @@ Will also return true if REASON is `.Bytes`.
13281328
<prevOrigin> _ => OG </prevOrigin>
13291329
<newCaller> _ => NEWCALLER </newCaller>
13301330
<newOrigin> _ => NEWORIGIN </newOrigin>
1331-
<active> false => true </active>
1331+
<active> _ => true </active>
13321332
<depth> _ => CD </depth>
13331333
<singleCall> _ => SINGLEPRANK </singleCall>
13341334
</prank>

src/tests/integration/test-data/foundry-prove-skip-legacy

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -191,6 +191,7 @@ PlainPrankTest.testFail_startPrank_existingAlready()
191191
PlainPrankTest.testFail_startPrank_internalCall()
192192
PlainPrankTest.test_prank_expectRevert()
193193
PlainPrankTest.test_prank_zeroAddress_true()
194+
PlainPrankTest.test_startPrank_consecutive()
194195
PlainPrankTest.test_startPrank_true()
195196
PlainPrankTest.test_startPrankWithOrigin_true()
196197
PlainPrankTest.test_startPrank_zeroAddress_true()

src/tests/integration/test-data/foundry/test/PlainPrankTest.t.sol

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,15 @@ contract PlainPrankTest is Test {
9797
vm.stopPrank();
9898
}
9999

100+
function test_startPrank_consecutive() public {
101+
AdditionalToken token = new AdditionalToken();
102+
vm.startPrank(address(0));
103+
token.incrementCount();
104+
vm.startPrank(address(1));
105+
vm.stopPrank();
106+
assert(token.count() == 1);
107+
108+
}
100109
function test_prank_zeroAddress_true() public {
101110
AdditionalToken token = new AdditionalToken();
102111
vm.prank(address(0));

src/tests/integration/test-data/show/contracts.k.expected

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8705,6 +8705,8 @@ module S2KtestZModPlainPrankTest-CONTRACT
87058705

87068706
syntax S2KtestZModPlainPrankTestMethod ::= "S2KtestZUndstartPrankWithOriginZUndtrue" "(" ")" [symbol("method_test%PlainPrankTest_S2KtestZUndstartPrankWithOriginZUndtrue_")]
87078707

8708+
syntax S2KtestZModPlainPrankTestMethod ::= "S2KtestZUndstartPrankZUndconsecutive" "(" ")" [symbol("method_test%PlainPrankTest_S2KtestZUndstartPrankZUndconsecutive_")]
8709+
87088710
syntax S2KtestZModPlainPrankTestMethod ::= "S2KtestZUndstartPrankZUndtrue" "(" ")" [symbol("method_test%PlainPrankTest_S2KtestZUndstartPrankZUndtrue_")]
87098711

87108712
syntax S2KtestZModPlainPrankTestMethod ::= "S2KtestZUndstartPrankZUndzeroAddressZUndtrue" "(" ")" [symbol("method_test%PlainPrankTest_S2KtestZUndstartPrankZUndzeroAddressZUndtrue_")]
@@ -8765,6 +8767,9 @@ module S2KtestZModPlainPrankTest-CONTRACT
87658767
rule ( S2KtestZModPlainPrankTest . S2KtestZUndstartPrankWithOriginZUndtrue ( ) => #abiCallData ( "test_startPrankWithOrigin_true" , .TypedArgs ) )
87668768

87678769

8770+
rule ( S2KtestZModPlainPrankTest . S2KtestZUndstartPrankZUndconsecutive ( ) => #abiCallData ( "test_startPrank_consecutive" , .TypedArgs ) )
8771+
8772+
87688773
rule ( S2KtestZModPlainPrankTest . S2KtestZUndstartPrankZUndtrue ( ) => #abiCallData ( "test_startPrank_true" , .TypedArgs ) )
87698774

87708775

@@ -8828,6 +8833,9 @@ module S2KtestZModPlainPrankTest-CONTRACT
88288833
rule ( selector ( "test_startPrankWithOrigin_true()" ) => 1559633499 )
88298834

88308835

8836+
rule ( selector ( "test_startPrank_consecutive()" ) => 2693862981 )
8837+
8838+
88318839
rule ( selector ( "test_startPrank_true()" ) => 243527947 )
88328840

88338841

0 commit comments

Comments
 (0)