Skip to main content
The Wax SDK uses various data models and type definitions to represent blockchain entities and structures.

Basic types

Fundamental type aliases for blockchain identifiers and data.
str
Account name on the Hive blockchain (3-16 characters, lowercase, digits, hyphens).
str
Hexadecimal string.
Hex
Chain identifier in hexadecimal format.
Hex
Transaction identifier in hexadecimal format.
Hex
Signature digest in hexadecimal format.
Hex
Transaction signature in hexadecimal format.
Hex
Head block identifier in hexadecimal format.
str
Public key in WIF format (e.g., “STM7…”).

Asset types

Types and models for working with Hive blockchain assets (HIVE, HBD, VESTS).

Asset type aliases

int | float | Decimal
Numeric type that can represent an asset amount.
proto_asset
Asset in NAI (Number Asset Identifier) format - the HF26 standard format.
NaiAsset | dict | str
Types that can be converted to HIVE NAI format.
NaiAsset | dict | str
Types that can be converted to HBD NAI format.
NaiAsset | dict | str
Types that can be converted to VESTS NAI format.
HiveNaiAssetConvertible | HbdNaiAssetConvertible | VestsNaiAssetConvertible
Any type convertible to NAI asset format.

AssetName enum

Enumeration of asset names.
Enum
HIVE token.
Enum
Hive Backed Dollar token.
Enum
VESTS (Hive Power) token.

AssetInfo dataclass

Asset metadata information.
dataclass
Contains asset metadata:
  • nai: Number Asset Identifier string
  • precision: Decimal precision (3 for HIVE/HBD, 6 for VESTS)

AssetFactory protocol

Factory interface for creating assets.
Protocol
Protocol with methods:
  • coins(amount: AssetAmount) -> NaiAsset - Create from decimal amount
  • satoshis(amount: int) -> NaiAsset - Create from integer satoshis

Authority types

Types for account authorities and permissions.

Authority type aliases

proto_authority
Authority structure containing weight threshold and authorized keys/accounts.
dict[PublicKey, int]
Dictionary mapping public keys to their weight in an authority.
dict[AccountName, int]
Dictionary mapping account names to their weight in an authority.

WaxAuthorities dataclass

Container for all account authorities.
dataclass
Contains account authorities:
  • owner: Owner authority (highest level)
  • active: Active authority (financial operations)
  • posting: Posting authority (content operations)

WaxAccountAuthorityInfo dataclass

Complete authority information for an account.
dataclass
Contains:
  • account: Account name
  • authorities: WaxAuthorities object with owner/active/posting
  • memo_key: Public memo key
  • last_owner_update: Last owner authority update time
  • previous_owner_update: Previous owner authority update time

ITransactionRequiredAuthorities interface

Interface for accessing required authorities from transactions.
interface
Properties:
  • posting_accounts: Set of accounts requiring posting authority
  • active_accounts: Set of accounts requiring active authority
  • owner_accounts: Set of accounts requiring owner authority
  • other_authorities: List of custom authority structures

Key data interfaces

Interfaces for private key and brain key data.

IPrivateKeyData interface

interface
Properties:
  • wif_private_key: Private key in WIF format
  • associated_public_key: Associated public key in WIF format

IBrainKeyData interface

interface
Extends IPrivateKeyData with:
  • brain_key: Space-separated brain key words
  • wif_private_key: Derived private key
  • associated_public_key: Associated public key

Manabar data

IManabarData interface

Interface for manabar calculation results.
interface
Properties:
  • max_mana: Maximum mana capacity
  • current_mana: Current regenerated mana value
  • percent: Manabar percentage (0-100)

Transaction types

Type aliases for different transaction formats.
proto_transaction
Transaction in protocol buffer format.
str
Transaction in JSON string format for Hive API calls.

Operation types

Type aliases for operation formats.
ProtoOperation | ProtocolOperation
Union of proto and protocol operation formats.
Message | OperationBase
Internal operation representation.
dict | str | Message
Types convertible to proto operation.
dict | str
Operation in HF26 protocol format.

Configuration types

ChainConfig type

dict[str, str]
Dictionary containing chain configuration parameters like block interval, address prefix, and protocol constants.

TTimestamp type

datetime | timedelta
Type alias for timestamps - can be absolute (datetime) or relative (timedelta).

Complete example