You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
If a program passes a readwrite account as readonly to an inner instruction, then any writes should cause an error. Since the runtime doesn't track changes to write deescalation, it allows those instructions to succeed but will not return those state changes to the caller program due to this check:
Might make sense to remove both is_signer and is_writable from PreAccount actually. Then, is_writable can be passed in to the PreAccount verify functions.
Problem
If a program passes a readwrite account as readonly to an inner instruction, then any writes should cause an error. Since the runtime doesn't track changes to write deescalation, it allows those instructions to succeed but will not return those state changes to the caller program due to this check:
solana/programs/bpf_loader/src/syscalls.rs
Line 1422 in 10c81a2
Proposed Solution
Temporarily deescalate
is_writable
inPreAccounts
for inner instructions.The text was updated successfully, but these errors were encountered: