{"version":3,"file":"TransactionFactoryInterface.cjs","sources":["../../src/TransactionFactoryInterface.ts"],"sourcesContent":["import { InterfaceImplementationMissingError } from './errors';\nimport type {\n  SerializedTransaction,\n  SerializedTransactionMessage,\n  Transaction,\n  TransactionInput,\n  TransactionMessage,\n} from './Transaction';\n\n/**\n * Defines the interface for a transaction factory.\n * It allows us to create, serialize and deserialize transactions and their messages.\n *\n * @category Context and Interfaces\n */\nexport interface TransactionFactoryInterface {\n  /** Creates a new transaction from a given input. */\n  create(input: TransactionInput): Transaction;\n  /** Serializes a transaction. */\n  serialize(transaction: Transaction): SerializedTransaction;\n  /** Deserializes a transaction. */\n  deserialize(serializedTransaction: SerializedTransaction): Transaction;\n  /** Serializes a transaction message. */\n  serializeMessage(message: TransactionMessage): SerializedTransactionMessage;\n  /** Deserializes a transaction message. */\n  deserializeMessage(\n    serializedMessage: SerializedTransactionMessage\n  ): TransactionMessage;\n}\n\n/**\n * An implementation of the {@link TransactionFactoryInterface} that throws an error when called.\n * @category Transactions\n */\nexport function createNullTransactionFactory(): TransactionFactoryInterface {\n  const errorHandler = () => {\n    throw new InterfaceImplementationMissingError(\n      'TransactionFactoryInterface',\n      'transactions'\n    );\n  };\n  return {\n    create: errorHandler,\n    serialize: errorHandler,\n    deserialize: errorHandler,\n    serializeMessage: errorHandler,\n    deserializeMessage: errorHandler,\n  };\n}\n"],"names":["createNullTransactionFactory","errorHandler","InterfaceImplementationMissingError","create","serialize","deserialize","serializeMessage","deserializeMessage"],"mappings":";;;;;;AA8BA;AACA;AACA;AACA;AACO,SAASA,4BAA4B,GAAgC;EAC1E,MAAMC,YAAY,GAAG,MAAM;AACzB,IAAA,MAAM,IAAIC,uEAAmC,CAC3C,6BAA6B,EAC7B,cAAc,CACf,CAAA;GACF,CAAA;EACD,OAAO;AACLC,IAAAA,MAAM,EAAEF,YAAY;AACpBG,IAAAA,SAAS,EAAEH,YAAY;AACvBI,IAAAA,WAAW,EAAEJ,YAAY;AACzBK,IAAAA,gBAAgB,EAAEL,YAAY;AAC9BM,IAAAA,kBAAkB,EAAEN,YAAAA;GACrB,CAAA;AACH;;;;"}