diff --git a/packages/primitives/src/transaction.ts b/packages/primitives/src/transaction.ts index 3b25c8e..5aeed95 100644 --- a/packages/primitives/src/transaction.ts +++ b/packages/primitives/src/transaction.ts @@ -100,6 +100,22 @@ export class Transaction { return new this(transaction); } + /** + * Validates the structure of a transaction. + * + * @param transaction The transaction (as hex or bytes). + * @returns boolean indicating whether the transaction structure is valid. + */ + public static isValid(transaction: Uint8Array | string): boolean { + try { + Transaction.from(transaction); + } catch (_error) { + return false; + } + + return true; + } + public toBytes(): Uint8Array { const bytes = encodeTransaction(this.transaction);