-
Notifications
You must be signed in to change notification settings - Fork 837
Solana Account Lookup Table (ALT) Message Dropping #4649
Description
Description
The v0 version of Solana transactions added address lookup tables. These are accounts that store accounts that can then be referenced as a single index in the instruction instead of all the bytes of a public key.
ALTs can be deleted. There are protections in place to mitigate the impact on on-chain usage, such as preventing reinitialization.
In the Wormhole watcher, to fill out the accounts correctly, there's a call to getAccountInfo() that will get all of the addresses associated with an ALT. Then it fixes the AccountKeys() structure to ensure processing proceeds as expected.
If an account was stored within a deleted ALT that is being observed by the Guardian, it cannot be consumed. For many accounts, this is fine because a reobservation on that particular account could see the TX. For the shim, which doesn't look at the account but the full transaction information, this would prevent the message from being consumed.
As a result, this is largely a self-denial of service. Not a must-fix, but something to consider in the future.