ChorusOne / solido

Lido for Solana is a Lido-DAO governed liquid staking protocol for the Solana blockchain.
https://chorusone.github.io/solido/
GNU General Public License v3.0
101 stars 43 forks source link

Switching to Solana v1.9.28 #571

Closed kkonevets closed 2 years ago

kkonevets commented 2 years ago
ruuda commented 2 years ago

b07f2b3 does not fix the problem, it still makes an RPC call that is separate from the GetMultipleAccounts call. We have to get block hash from that GetMultipleAccounts call, either through a sysvar, or from elsewhere in the response.

We can get the slot number from GetMultipleAccounts (both from the sysvar and in the context part of the response). Maybe what we can do to get the block hash is to fetch the block at that slot? This also performs a separate RPC call, but because there is a unique block hash for every (finalized) slot, the output there is not a moving target, so that is fine to do in a separate request.

kkonevets commented 2 years ago

Good point. Fixed. Please approve the CI build.

ruuda commented 2 years ago

The integration test failed :confused:

Command '('target/debug/solido', '--cluster', 'http://127.0.0.1:8899/', '--output', 'json', 'multisig', 'create-multisig', '--multisig-program-id', 'AM83tkD6iukH4LtkCR1TbP9Xp1xUJh2kCRriYR4vKvaH', '--threshold', '2', '--owners', 'GjhPQBR1wA7H9efpbFeXsRJZVkroLsUNg8Wve2fheePG,7F1ET9qn9Sm2ULkxXSfaYa99X8w3B9ufpdKPdrNDCSUV')' returned non-zero exit status 1.

We’ve seen some flakes in the integration tests in the past but it would usually fail earlier, can you check what’s up?

kkonevets commented 2 years ago

RPC should be done with commitment "confirmed", otherwise we get "block not available for slot ..." error

kkonevets commented 2 years ago

Can we pull to main now?

kkonevets commented 2 years ago

By the way, should we increment a version number of solido to 1.3.3 ?

ruuda commented 2 years ago

We could, if this is the last change we make before the larger changes, it would make sense.

kkonevets commented 2 years ago

Soon I will edit this PR https://github.com/ChorusOne/solido/pull/569. So we should probably wait

ruuda commented 2 years ago

Actually, we should probably update the maintainer daemon to remove the Anker steps again and then make a new release, before the larger "2.0" update.