algokit_subscriber.transform

Module Contents

Classes

Functions

algod_on_complete_to_indexer_on_complete

remove_nulls

get_block_transactions

get_block_inner_transactions

extract_transaction_from_block_transaction

Transform a raw block transaction representation into a algosdk.Transaction object and other key transaction data.

extract_and_normalise_transaction

Extract and normalize a transaction from a block transaction.

get_tx_id_from_block_transaction

Get the transaction ID from a block transaction.

convert_bytes_to_base64

Recursively iterate over a nested dict and convert any bytes values to base64 strings.

get_indexer_transaction_from_algod_transaction

block_data_to_block_metadata

Extract key metadata from a block.

count_all_transactions

extract_balance_changes_from_block_transaction

extract_balance_changes_from_indexer_transaction

Data

API

ALGORAND_ZERO_ADDRESS

‘AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAY5HFKQ’

algod_on_complete_to_indexer_on_complete(
algod_oc: int,
) algokit_subscriber.types.transaction.IndexerOnComplete
remove_nulls(obj: dict) dict
get_block_transactions(
block: algokit_subscriber.types.block.Block,
) list[algokit_subscriber.types.block.TransactionInBlock]
get_block_inner_transactions(
block_transaction: algokit_subscriber.types.block.BlockInnerTransaction,
block: algokit_subscriber.types.block.Block,
parent_transaction: algokit_subscriber.types.block.BlockTransaction,
parent_transaction_id: str,
round_index: int,
get_round_offset: collections.abc.Callable,
get_parent_offset: collections.abc.Callable,
) list[algokit_subscriber.types.block.TransactionInBlock]
class ExtractedBlockTransaction

Bases: typing.TypedDict

transaction: algokit_subscriber.types.transaction.AnyTransaction

None

created_asset_id: int | None

None

created_app_id: int | None

None

asset_close_amount: int | None

None

close_amount: int | None

None

logs: list[str] | None

None

__contains__()
__delattr__()
__delitem__()
__dir__()
__eq__()
__format__()
__ge__()
__getattribute__()
__getitem__()
__getstate__()
__gt__()
__ior__()
__iter__()
__le__()
__len__()
__lt__()
__ne__()
__new__()
__or__()
__reduce__()
__reduce_ex__()
__repr__()
__reversed__()
__ror__()
__setattr__()
__setitem__()
__sizeof__()
__str__()
__subclasshook__()
clear()
copy()
get()
items()
keys()
pop()
popitem()
setdefault()
update()
values()
extract_transaction_from_block_transaction(
block_transaction: algokit_subscriber.types.block.BlockInnerTransaction,
genesis_hash: bytes,
genesis_id: str,
) algokit_subscriber.transform.ExtractedBlockTransaction

Transform a raw block transaction representation into a algosdk.Transaction object and other key transaction data.

Note: Doesn’t currently support keyreg (Key Registration) or stpf (State Proof) transactions.

Parameters:
  • block_transaction (BlockInnerTransaction) – The raw transaction from a block

  • genesis_hash (bytes) – The genesis hash

  • genesis_id (str) – The genesis ID

Returns:

The algosdk.Transaction object along with key secondary information from the block.

Return type:

ExtractedBlockTransaction

extract_and_normalise_transaction(
block_transaction: algokit_subscriber.types.block.BlockInnerTransaction | algokit_subscriber.types.block.BlockTransaction,
genesis_hash: bytes,
genesis_id: str,
) dict[str, Any]

Extract and normalize a transaction from a block transaction.

Parameters:
  • block_transaction (BlockTransaction) – The raw transaction from a block

  • genesis_hash (bytes) – The genesis hash

  • genesis_id (str) – The genesis ID

Returns:

The normalized transaction

Return type:

dict[str, Any]

get_tx_id_from_block_transaction(
block_transaction: algokit_subscriber.types.block.BlockTransaction | algokit_subscriber.types.block.BlockInnerTransaction,
genesis_hash: bytes,
genesis_id: str,
) str

Get the transaction ID from a block transaction.

Parameters:
  • block_transaction (BlockTransaction | BlockInnerTransaction) – The block transaction

  • genesis_hash (bytes) – The genesis hash

  • genesis_id (str) – The genesis ID

Returns:

The transaction ID

Return type:

str

class TransactionInBlockWithChildOffset

Bases: algokit_subscriber.types.block.TransactionInBlock

get_child_offset: typing_extensions.NotRequired[collections.abc.Callable[[], int]]

None

block_transaction: BlockTransaction | BlockInnerTransaction

None

round_offset: int

None

round_index: int

None

parent_transaction_id: typing_extensions.NotRequired[None | str]

None

parent_offset: typing_extensions.NotRequired[None | int]

None

genesis_hash: bytes

None

genesis_id: str

None

round_number: int

None

round_timestamp: int

None

transaction: algosdk.transaction.Transaction

None

created_asset_id: typing_extensions.NotRequired[None | int]

None

created_app_id: typing_extensions.NotRequired[None | int]

None

asset_close_amount: typing_extensions.NotRequired[None | int]

None

close_amount: typing_extensions.NotRequired[None | int]

None

logs: typing_extensions.NotRequired[None | list[str]]

None

__contains__()
__delattr__()
__delitem__()
__dir__()
__eq__()
__format__()
__ge__()
__getattribute__()
__getitem__()
__getstate__()
__gt__()
__ior__()
__iter__()
__le__()
__len__()
__lt__()
__ne__()
__new__()
__or__()
__reduce__()
__reduce_ex__()
__repr__()
__reversed__()
__ror__()
__setattr__()
__setitem__()
__sizeof__()
__str__()
__subclasshook__()
clear()
copy()
get()
items()
keys()
pop()
popitem()
setdefault()
update()
values()
convert_bytes_to_base64(obj: Any) Any

Recursively iterate over a nested dict and convert any bytes values to base64 strings.

Parameters:

obj (Any) – The object to convert (can be a dict, list, or any other type)

Returns:

The object with all bytes values converted to base64 strings

Return type:

Any

get_indexer_transaction_from_algod_transaction(
t: algokit_subscriber.types.block.TransactionInBlock | algokit_subscriber.transform.TransactionInBlockWithChildOffset,
filter_name: str | None = None,
) algokit_subscriber.types.subscription.SubscribedTransaction
block_data_to_block_metadata(
block_data: algokit_subscriber.types.block.BlockData,
) algokit_subscriber.types.subscription.BlockMetadata

Extract key metadata from a block.

Parameters:

block_data (BlockData) – The raw block data

Returns:

The block metadata

Return type:

BlockMetadata

count_all_transactions(
txns: collections.abc.Sequence[algokit_subscriber.types.block.BlockTransaction | algokit_subscriber.types.block.BlockInnerTransaction],
) int
extract_balance_changes_from_block_transaction(
transaction: algokit_subscriber.types.block.BlockTransaction | algokit_subscriber.types.block.BlockInnerTransaction,
) list[algokit_subscriber.types.subscription.BalanceChange]
extract_balance_changes_from_indexer_transaction(
transaction: algokit_subscriber.types.indexer.TransactionResult,
) list[algokit_subscriber.types.subscription.BalanceChange]