rpcpool / yellowstone-grpc

solana geyser grpc service
GNU Affero General Public License v3.0
201 stars 92 forks source link

Can we detect deleted accounts without listening to the system program? #11

Open linuskendall opened 1 year ago

linuskendall commented 1 year ago

Is there a way to detect deletion of accounts without a person needing to subscribe to system program?

We might need an upstream fix for this to work?

https://github.com/solana-labs/solana/issues/28959

fanatid commented 1 year ago

I think it's not possible, if we use owner filter then for detecting deleted accounts we also need to listen to system program :confused:

musitdev commented 1 year ago

I have this issue with stake account subscription. I just see that some stake account can be deleted. On testnet at epoch 524 I get this stake account:

New stake added for: AxATCPRQUrPD2dqiepsDEftnotw4RGsvfHXnuhx1kCJu stake:StoredStake { pubkey: AxATCPRQUrPD2dqiepsDEftnotw4RGsvfHXnuhx1kCJu, stake: Delegation { voter_pubkey: 27mam831rj3b9yFbfHD8Hz5nvKVc8SrWhsGT9DfJCkwm, stake: 4998995434240, activation_epoch: 523, deactivation_epoch: 18446744073709551615, warmup_cooldown_rate: 0.25 }, last_update_slot: 220844256, write_version: 0 } 

And at epoch 525 it doesn't exit : https://explorer.solana.com/address/AxATCPRQUrPD2dqiepsDEftnotw4RGsvfHXnuhx1kCJu?cluster=testnet

As I try to reconstruct the leader_schedule from stake account, the calculus is wrong because I'm not notified of stake account deactivation. Do you think there's a way to get notified when a stake account is deleted?

musitdev commented 1 year ago

I try to subscribe to solana_sdk::system_program::ID but the geyser plugin doesn't allow. I've this error: "failed to create filter: Pubkey 11111111111111111111111111111111 in filters not allowed

fanatid commented 9 months ago

failed to create filter: Pubkey 11111111111111111111111111111111 in filters not allowed

this restriction is only from the plugin config, it's possible to subscribe if allowed

musitdev commented 9 months ago

Ok, thanks, I didn't think about it. It's good to know.