Solrays sunglasses logo

sol-rays

Our Mission

sol-rays is a platform to gather data about the Solana program ecosystem. We perform low-level analysis of *all* currently deployed programs on chain.
Warning: data might be sligtly out of date. Look at the last update when downloading signatures.csv to check when was the results of the analysis updated.

Features

FAQ

Where did you grab all this information from?
We dumped all Solana smart contracts and run some lightweight static analysis over all of them.

How can you detect CPI calls to build the callgraph?
We do not really detect CPI calls. However, since we've dumped all programs, we also know all their addresses.
So, when we detect a cross-reference to some .rodata that corresponds to a Solana program address, we mark it as a CPI call.
Of course, this is going to have false negative and a couple of false positives, but we are confident we can catch the vast majority of cross-program calls.

Program data accounts get deleted when not used anymore. How do you have the version history of a program?
Yes, the program data account linked to a program account gets closed on upgrade.
However, the BPFLoader transactions used to write there cannot be deleted. So, we wrote a scraper that analyzes every single transaction of the BPFLoader,
and reconstructs the individual binaries for each deploy instruction.
Note: the logs suggest that every once in a while we might miss a binary. This is because RPC endpoints sometimes are imprecise regarding to historical data.

Credits

Developed by cyanpencil, part of a project by Asymmetric Research.