@solana/web3.js 1.54.1 → 1.55.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/index.d.ts CHANGED
@@ -395,6 +395,7 @@ declare module '@solana/web3.js' {
395
395
 
396
396
  export type VersionedMessage = Message | MessageV0;
397
397
  export const VersionedMessage: {
398
+ deserializeMessageVersion(serializedMessage: Uint8Array): 'legacy' | number;
398
399
  deserialize: (serializedMessage: Uint8Array) => VersionedMessage;
399
400
  };
400
401
 
package/lib/index.esm.js CHANGED
@@ -862,16 +862,24 @@ class MessageV0 {
862
862
 
863
863
  // eslint-disable-next-line no-redeclare
864
864
  const VersionedMessage = {
865
- deserialize: serializedMessage => {
865
+ deserializeMessageVersion(serializedMessage) {
866
866
  const prefix = serializedMessage[0];
867
867
  const maskedPrefix = prefix & VERSION_PREFIX_MASK; // if the highest bit of the prefix is not set, the message is not versioned
868
868
 
869
869
  if (maskedPrefix === prefix) {
870
- return Message.from(serializedMessage);
870
+ return 'legacy';
871
871
  } // the lower 7 bits of the prefix indicate the message version
872
872
 
873
873
 
874
- const version = maskedPrefix;
874
+ return maskedPrefix;
875
+ },
876
+
877
+ deserialize: serializedMessage => {
878
+ const version = VersionedMessage.deserializeMessageVersion(serializedMessage);
879
+
880
+ if (version === 'legacy') {
881
+ return Message.from(serializedMessage);
882
+ }
875
883
 
876
884
  if (version === 0) {
877
885
  return MessageV0.deserialize(serializedMessage);