@hsuite/smart-transaction-types v2.0.2
@hsuite/smart-transaction-types
Type definitions and models for the HbarSuite Smart Transaction system.
Description
The @hsuite/smart-transaction-types
package provides TypeScript type definitions, interfaces, and model implementations for the HbarSuite Smart Transaction system. It defines the contract and implementations for handling distributed key generation (DKG), transaction processing, and other smart transaction features in the HbarSuite ecosystem.
Features
- 🏗️ Comprehensive type definitions for smart transactions
- 📝 Interface definitions for transaction details, execution, and requests
- 🔄 Concrete model implementations with proper validation
- 🎯 Type-safe transaction handling
- 📊 Transaction status tracking
- 🛡️ Swagger/OpenAPI integration via
@hsuite/nestjs-swagger
Installation
npm install @hsuite/smart-transaction-types
Architecture
The library is organized into two main namespaces:
ISmartTransaction Namespace
Contains all interface definitions and type declarations:
IDetails
: Interface for transaction details including status and transaction IDIExecute
: Interface for transaction execution with byte dataIRequest
: Interface for transaction requests with message and job tracking
SmartTransaction Namespace
Provides concrete implementations of the interfaces:
Abstract
: Base class with core functionality for handling transaction bytesDetails
: Implementation for tracking transaction status and identifiersExecute
: Handles transaction execution and submissionRequest
: Manages transaction requests with proper context and tracking
Usage
Transaction Details
import { SmartTransaction, ISmartTransaction } from '@hsuite/smart-transaction-types';
// Create transaction details
const details = new SmartTransaction.Details(Status.SUCCESS, '0.0.123456@1234567890.000000000');
Transaction Execution
import { SmartTransaction } from '@hsuite/smart-transaction-types';
// Create and execute a transaction
const execute = new SmartTransaction.Execute(new Uint8Array([1,2,3,4]));
const tx = execute.fromBytes();
Transaction Requests
import { SmartTransaction } from '@hsuite/smart-transaction-types';
// Create a new transaction request
const request = new SmartTransaction.Request(
new Uint8Array([1,2,3,4]),
'Execute token transfer',
'job-123' // optional job ID
);
API Documentation
Interfaces
ISmartTransaction.IDetails
- Represents transaction details
- Contains transaction status and unique identifier
- Used for tracking transaction state
ISmartTransaction.IExecute
- Defines transaction execution structure
- Handles transaction byte data
- Used for submitting transactions
ISmartTransaction.IRequest
- Represents transaction requests
- Includes transaction data and descriptive message
- Optional job ID for tracking
Models
SmartTransaction.Abstract
Base class providing core transaction functionality:
- Byte handling
- Transaction reconstruction
- Common utilities
SmartTransaction.Details
Implementation for transaction details:
- Status management
- Transaction ID handling
- State tracking
SmartTransaction.Execute
Handles transaction execution:
- Byte data processing
- Transaction submission
- Execution state management
SmartTransaction.Request
Manages transaction requests:
- Request data handling
- Message management
- Job tracking
Documentation
Compodoc Documentation
For detailed API documentation, use Compodoc:
- Generate documentation:
yarn compodoc
- Generate with coverage information:
yarn compodoc:coverage
Version
Current Version: 2.0.0
License
This package is part of the HbarSuite ecosystem and is covered by its license terms.