You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Issue
When calling an RPC for a method such as GetTransactions with encoding EncodingJSON, the versioning is always being set to legacy regardless of if it actually is
But if one sets EncodingBase64 then the call to GetTransaction() has the version set correctly
The resolution is to either use EncodingBase64 or to manually set version with resJson.Message.SetVersion(solana.MessageVersion(rpc.MaxSupportedTransactionVersion0))
This is particularly problematic when one wants to resolve ALTs
Issue
When calling an RPC for a method such as GetTransactions with encoding
EncodingJSON, the versioning is always being set to legacy regardless of if it actually isBut if one sets
EncodingBase64then the call toGetTransaction()has the version set correctlyThe resolution is to either use
EncodingBase64or to manually set version withresJson.Message.SetVersion(solana.MessageVersion(rpc.MaxSupportedTransactionVersion0))This is particularly problematic when one wants to resolve ALTs
possible causes
legacyas0while inrpc/transacton_version.goit in defined differently, thus when the RPC response contains 0 it is being decoded to legacy as eluded to in serious bug: message versionLegacyand0is not mapped to0and1#180Messagefieldversionis set to private with no JSON tagmessage.gorpc/transaction_version.goReproduction code