deserializeTransaction static method

(VersionedMessage, List<List<int>>) deserializeTransaction(
  1. List<int> serializedTransaction
)

convert bytes to Message

Implementation

static (VersionedMessage, List<List<int>>) deserializeTransaction(
  List<int> serializedTransaction,
) {
  final List<int> byteArray = [...serializedTransaction];
  final List<List<int>> signatures = [];
  final int signaturesLength = _decodeLength(byteArray);
  for (int i = 0; i < signaturesLength; i++) {
    final int offset = i * SolanaTransactionConstant.signatureLengthInBytes;
    signatures.add(
      byteArray.sublist(
        offset,
        offset + SolanaTransactionConstant.signatureLengthInBytes,
      ),
    );
  }
  final message = VersionedMessage.fromBuffer(
    byteArray.sublist(
      signatures.length * SolanaTransactionConstant.signatureLengthInBytes,
    ),
  );
  return (message, signatures);
}