@@ -484,25 +484,25 @@ An `AccountInfo` reference is passed to the function.
484484``` k
485485 // special rule to intercept the cheat code function calls and replace them by #mkPToken<thing>
486486 rule [cheatcode-is-account]:
487- <k> #execTerminatorCall(_, FUNC, operandCopy(PLACE) .Operands, _DEST, TARGET, _UNWIND) ~> _CONT
487+ <k> #execTerminatorCall(_, FUNC, operandCopy(PLACE) .Operands, _DEST, TARGET, _UNWIND, _SPAN ) ~> _CONT
488488 => #mkPTokenAccount(PLACE) ~> #continueAt(TARGET)
489489 </k>
490490 requires #functionName(FUNC) ==String "pinocchio_token_program::entrypoint::cheatcode_is_account"
491491 [priority(30), preserves-definedness]
492492 rule [cheatcode-is-mint]:
493- <k> #execTerminatorCall(_, FUNC, operandCopy(PLACE) .Operands, _DEST, TARGET, _UNWIND) ~> _CONT
493+ <k> #execTerminatorCall(_, FUNC, operandCopy(PLACE) .Operands, _DEST, TARGET, _UNWIND, _SPAN ) ~> _CONT
494494 => #mkPTokenMint(PLACE) ~> #continueAt(TARGET)
495495 </k>
496496 requires #functionName(FUNC) ==String "pinocchio_token_program::entrypoint::cheatcode_is_mint"
497497 [priority(30), preserves-definedness]
498498 rule [cheatcode-is-multisig]:
499- <k> #execTerminatorCall(_, FUNC, operandCopy(PLACE) .Operands, _DEST, TARGET, _UNWIND) ~> _CONT
499+ <k> #execTerminatorCall(_, FUNC, operandCopy(PLACE) .Operands, _DEST, TARGET, _UNWIND, _SPAN ) ~> _CONT
500500 => #mkPTokenMultisig(PLACE) ~> #continueAt(TARGET)
501501 </k>
502502 requires #functionName(FUNC) ==String "pinocchio_token_program::entrypoint::cheatcode_is_multisig"
503503 [priority(30), preserves-definedness]
504504 rule [cheatcode-is-rent]:
505- <k> #execTerminatorCall(_, FUNC, operandCopy(PLACE) .Operands, _DEST, TARGET, _UNWIND) ~> _CONT
505+ <k> #execTerminatorCall(_, FUNC, operandCopy(PLACE) .Operands, _DEST, TARGET, _UNWIND, _SPAN ) ~> _CONT
506506 => #mkPTokenRent(PLACE) ~> #continueAt(TARGET)
507507 </k>
508508 requires #functionName(FUNC) ==String "pinocchio_token_program::entrypoint::cheatcode_is_rent"
@@ -771,7 +771,7 @@ The `PAccByteRef` carries a stack offset, so it must be adjusted on reads.
771771``` k
772772 // intercept calls to `borrow_data_unchecked` and write `PAccountRef` to destination
773773 rule [cheatcode-borrow-data]:
774- <k> #execTerminatorCall(_, FUNC, operandCopy(place(LOCAL, PROJS)) .Operands, DEST, TARGET, _UNWIND) ~> _CONT
774+ <k> #execTerminatorCall(_, FUNC, operandCopy(place(LOCAL, PROJS)) .Operands, DEST, TARGET, _UNWIND, _SPAN ) ~> _CONT
775775 => #mkPAccByteRef(DEST, operandCopy(place(LOCAL, appendP(PROJS, projectionElemDeref projectionElemField(fieldIdx(0), #hack()) .ProjectionElems))), mutabilityNot)
776776 ~> #continueAt(TARGET)
777777 </k>
@@ -780,7 +780,7 @@ The `PAccByteRef` carries a stack offset, so it must be adjusted on reads.
780780
781781 // intercept calls to `borrow_mut_data_unchecked` and write `PAccountRef` to destination
782782 rule [cheatcode-borrow-mut-data]:
783- <k> #execTerminatorCall(_, FUNC, operandCopy(place(LOCAL, PROJS)) .Operands, DEST, TARGET, _UNWIND) ~> _CONT
783+ <k> #execTerminatorCall(_, FUNC, operandCopy(place(LOCAL, PROJS)) .Operands, DEST, TARGET, _UNWIND, _SPAN ) ~> _CONT
784784 => #mkPAccByteRef(DEST, operandCopy(place(LOCAL, appendP(PROJS, projectionElemDeref projectionElemField(fieldIdx(0), #hack()) .ProjectionElems))), mutabilityMut)
785785 ~> #continueAt(TARGET)
786786 </k>
@@ -848,7 +848,7 @@ NB Both `load_unchecked` and `load_mut_unchecked` are intercepted in the same wa
848848``` k
849849 // intercept calls to `load_unchecked` and `load_mut_unchecked`
850850 rule [cheatcode-mk-iface-account-ref]:
851- <k> #execTerminatorCall(_, FUNC, OPERAND .Operands, DEST, TARGET, _UNWIND) ~> _CONT
851+ <k> #execTerminatorCall(_, FUNC, OPERAND .Operands, DEST, TARGET, _UNWIND, _SPAN ) ~> _CONT
852852 => #mkPAccountRef(DEST, OPERAND, PAccountIAcc, true)
853853 ~> #continueAt(TARGET)
854854 </k>
@@ -860,7 +860,7 @@ NB Both `load_unchecked` and `load_mut_unchecked` are intercepted in the same wa
860860 [priority(30), preserves-definedness]
861861
862862 rule [cheatcode-mk-imint-ref]:
863- <k> #execTerminatorCall(_, FUNC, OPERAND .Operands, DEST, TARGET, _UNWIND) ~> _CONT
863+ <k> #execTerminatorCall(_, FUNC, OPERAND .Operands, DEST, TARGET, _UNWIND, _SPAN ) ~> _CONT
864864 => #mkPAccountRef(DEST, OPERAND, PAccountIMint, true)
865865 ~> #continueAt(TARGET)
866866 </k>
@@ -872,7 +872,7 @@ NB Both `load_unchecked` and `load_mut_unchecked` are intercepted in the same wa
872872 [priority(30), preserves-definedness]
873873
874874 rule [cheatcode-mk-imulti-ref]:
875- <k> #execTerminatorCall(_, FUNC, OPERAND .Operands, DEST, TARGET, _UNWIND) ~> _CONT
875+ <k> #execTerminatorCall(_, FUNC, OPERAND .Operands, DEST, TARGET, _UNWIND, _SPAN ) ~> _CONT
876876 => #mkPAccountRef(DEST, OPERAND, PAccountIMulti, true)
877877 ~> #continueAt(TARGET)
878878 </k>
@@ -884,7 +884,7 @@ NB Both `load_unchecked` and `load_mut_unchecked` are intercepted in the same wa
884884 [priority(30), preserves-definedness]
885885
886886 rule [cheatcode-mk-prent-ref]:
887- <k> #execTerminatorCall(_, FUNC, OPERAND .Operands, DEST, TARGET, _UNWIND) ~> _CONT
887+ <k> #execTerminatorCall(_, FUNC, OPERAND .Operands, DEST, TARGET, _UNWIND, _SPAN ) ~> _CONT
888888 => #mkPAccountRef(DEST, OPERAND, PAccountPRent, false)
889889 ~> #continueAt(TARGET)
890890 </k>
@@ -930,7 +930,7 @@ Therefore, the value gets created in a dedicated place on first access.
930930
931931``` k
932932 rule [cheatcode-get-sys-prent]:
933- <k> #execTerminatorCall(_, FUNC, .Operands, DEST, TARGET, _UNWIND) ~> _CONT
933+ <k> #execTerminatorCall(_, FUNC, .Operands, DEST, TARGET, _UNWIND, _SPAN ) ~> _CONT
934934 => #writeSysRent(DEST)
935935 ~> #continueAt(TARGET)
936936 </k>
0 commit comments