Skip to content

Conversation

@2501babe
Copy link
Member

first half of #53. this updates the program to gracefully handle the old instruction builders (sysvars are passed in) and the expected new ones (they will not be). we also take this opportunity to enforce that authorities must be present, and must be signers, for instructions that previously had sysvars before the technically optional authority

in a previous pr, we attempted to do this with two magic functions for skipping accounts. this proved to be quite obtuse and difficult to understand why one was used rather than the other in specific circumstances. in this pr, we do it by hand on an instruction-by-instruction basis, making it clear when account selection branches and why. this also makes it easier to assert positional signers in all cases, when before it was tricky because to do it would depend on accounts we had already skipped

also updated some comments to reflect the fact that the program is now live on mainnet

@2501babe 2501babe self-assigned this Oct 16, 2025
@2501babe 2501babe force-pushed the gently-handle-sysvars branch from 957ee04 to 5971b45 Compare October 16, 2025 19:57
@2501babe 2501babe marked this pull request as draft October 16, 2025 19:58
@2501babe 2501babe marked this pull request as ready for review October 16, 2025 21:32
@2501babe 2501babe requested a review from joncinque October 16, 2025 21:43
@2501babe 2501babe force-pushed the gently-handle-sysvars branch from 1ad9ee7 to 2c19b7f Compare October 17, 2025 13:28
@joncinque
Copy link
Contributor

joncinque commented Oct 22, 2025

Note for onlookers: we're going to hold off on this PR for the next release, and get everything before this audited.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants