NOTE: this is still a draft, so it's subject to changes. This alert will be removed as soon as final version will be available

πŸ’Έ@hsuite/smart-transaction-types - Smart Transaction Type Definitions

⚑ Comprehensive TypeScript type system for Smart Node transaction operations with multi-ledger support

Enterprise-grade type definitions and model library providing robust interfaces, concrete implementations, and runtime validation for smart transactions within the Smart Node ecosystem, supporting Hashgraph with planned Ripple/XRPL integration.


πŸ“š Table of Contents


✨ Quick Start

Installation

npm install @hsuite/smart-transaction-types

Basic Setup

NestJS Integration


πŸ—οΈ Architecture

Dual Namespace System

The library provides a comprehensive dual-namespace architecture:

πŸ”§ ISmartTransaction Namespace (Interfaces)

  • Type Definitions - Pure TypeScript interfaces for type safety

  • Transaction Details - Status and identifier interface definitions

  • Execution Interfaces - Transaction execution structure definitions

  • Request Interfaces - Transaction request and tracking interfaces

πŸ›οΈ SmartTransaction Namespace (Models)

  • Runtime Validation - Concrete classes with built-in validation

  • Swagger Integration - Complete API documentation decorators

  • Multi-Ledger Support - Hashgraph with planned Ripple integration

  • Error Handling - Comprehensive validation and error management

Core Components

πŸ“‹ Transaction Details

  • Status Tracking - Comprehensive transaction status management

  • ID Management - Unique transaction identifier handling

  • Multi-Format Support - SDK types and string representations

  • Validation - Runtime validation of status and ID formats

⚑ Transaction Execution

  • Byte Processing - Binary transaction data handling

  • Chain Support - Multi-ledger transaction reconstruction

  • Execution Context - Transaction submission and processing

  • Format Flexibility - Uint8Array and base64 string support

πŸ“ Transaction Requests

  • Request Management - Structured transaction request handling

  • Message Context - Descriptive transaction information

  • Job Tracking - Optional identifier for transaction correlation

  • Input Validation - Comprehensive request data validation

πŸ—οΈ Abstract Foundation

  • Base Functionality - Core transaction processing capabilities

  • Chain Reconstruction - Multi-ledger transaction reconstruction

  • Extensibility - Foundation for future ledger integrations

  • Type Safety - Strict TypeScript type enforcement

Module Structure


πŸ”§ API Reference

ISmartTransaction Namespace

Core Interface Structure

Transaction Details Interface

ISmartTransaction.IDetails

  • Purpose: Represents transaction details for status tracking

  • Properties:

    • status: Status | string - Transaction status (SUCCESS, FAILURE, etc.)

    • transactionId: TransactionId | string - Unique identifier format "[email protected]"

  • Usage: Status monitoring and transaction identification

Transaction Execution Interface

ISmartTransaction.IExecute

  • Purpose: Defines transaction execution structure

  • Properties:

    • bytes: Uint8Array | string - Transaction data in binary or base64 format

  • Usage: Transaction execution and submission workflows

Transaction Request Interface

ISmartTransaction.IRequest

  • Purpose: Represents transaction requests with context

  • Properties:

    • bytes: Uint8Array | string - Transaction data

    • message: string - Descriptive transaction message

    • jobId?: string - Optional job identifier for tracking

  • Usage: Transaction request creation and management

SmartTransaction Namespace

Core Model Structure

Abstract Base Class

SmartTransaction.Abstract

  • Purpose: Base class for transaction operations

  • Static Methods:

    • fromBytes(bytes: Uint8Array | string, chain: ChainType): Transaction

  • Features: Transaction reconstruction from raw data

  • Supported Chains: Hashgraph (Ripple planned)

Transaction Details Model

SmartTransaction.Details

  • Constructor: new Details(status: Status | string, transactionId: TransactionId | string)

  • Validation: Ensures valid status and transaction ID formats

  • Features: Full Swagger/OpenAPI support

  • Decorators: Complete API documentation

Transaction Execution Model

SmartTransaction.Execute

  • Constructor: new Execute(bytes: Uint8Array | string)

  • Extends: Abstract class for reconstruction capabilities

  • Features: Transaction submission and execution workflows

  • Validation: Ensures valid byte data format

Transaction Request Model

SmartTransaction.Request

  • Constructor: new Request(bytes: Uint8Array | string, message: string)

  • Validation:

    • Non-empty bytes (binary or string)

    • Non-empty, non-whitespace message

    • Optional job ID tracking

  • Features: Full Swagger/OpenAPI support

Error Handling

The library provides comprehensive error handling:

  • Validation Errors: Descriptive messages for invalid inputs

  • Type Errors: Clear type mismatch notifications

  • Format Errors: Specific formatting requirement messages

  • Empty Data Errors: Non-empty data requirement validation


πŸ“– Guides

Transaction Lifecycle Guide

Understand the complete lifecycle of smart transactions from request to completion. Comprehensive guide covering transaction creation, validation, execution, status tracking, and error handling across multiple blockchain networks with enterprise-grade monitoring and management capabilities.

Multi-Ledger Integration Guide

Learn how to integrate transactions across different blockchain networks. Advanced integration guide covering cross-chain transaction management, ledger-specific configurations, chain abstraction layers, unified transaction interfaces, and seamless multi-blockchain operations.

Validation and Error Handling Guide

Implement robust validation and error handling for transaction operations. Detailed implementation guide covering input validation, transaction integrity checks, error classification, recovery strategies, and comprehensive error reporting for enterprise transaction systems.

Status Tracking Guide

Track and monitor transaction status throughout the execution process. Advanced monitoring guide covering status lifecycle management, real-time tracking, progress indicators, completion detection, and enterprise-grade transaction monitoring with alerts and notifications.


🎯 Examples

Basic Transaction Operations

Advanced Transaction Management

Multi-Ledger Transaction Handling

Transaction Validation and Error Handling

Status Tracking and Monitoring


πŸ”— Integration

Required Dependencies

TypeScript Configuration

Module Integration

Documentation Generation

Error Handling Patterns

Integration with HSuite Ecosystem


⚑ Enterprise Transaction System: Comprehensive TypeScript definitions with runtime validation and multi-ledger support for Smart Node operations.

πŸ”„ Multi-Chain Ready: Current Hashgraph integration with planned Ripple/XRPL support for cross-ledger transaction processing.

πŸ›‘οΈ Type-Safe Operations: Full TypeScript support with strict validation, comprehensive error handling, and seamless NestJS integration.


Built with ❀️ by the HSuite Team Copyright © 2025 HSuite. All rights reserved.

Last updated