diff --git a/src/kontrol/kdist/no_code_size_checks.md b/src/kontrol/kdist/no_code_size_checks.md index 9708dd953..c1ddf6bdd 100644 --- a/src/kontrol/kdist/no_code_size_checks.md +++ b/src/kontrol/kdist/no_code_size_checks.md @@ -12,7 +12,8 @@ module NO-CODE-SIZE-CHECKS imports EVM imports FOUNDRY - rule #mkCodeDeposit ACCT + rule [deploy-no-codesize-limit]: + #mkCodeDeposit ACCT => Gcodedeposit < SCHED > *Int lengthBytes(OUT) ~> #deductGas ~> #finishCodeDeposit ACCT OUT ... @@ -22,5 +23,23 @@ module NO-CODE-SIZE-CHECKS requires #isValidCode(OUT, SCHED) [priority(30)] + rule [create-valid-no-codesize-limit]: + CREATE VALUE MEMSTART MEMWIDTH + => #accessAccounts #newAddr(ACCT, NONCE) + ~> #checkCreate ACCT VALUE + ~> #create ACCT #newAddr(ACCT, NONCE) VALUE #range(LM, MEMSTART, MEMWIDTH) + ~> #codeDeposit #newAddr(ACCT, NONCE) + ... + + ACCT + LM + + ACCT + NONCE + ... + + SCHED + [preserves-definedness, priority(30)] + endmodule ``` \ No newline at end of file