Skip to main content

Solana transaction normalizer, parser, and resolver.

Project description

📟 Solana Transactions (soltxs)

Solana transaction normalizer, parser, and resolver.

Installing

pip install soltxs

Overview

This library breaks down Solana transaction introspection and analysis into three steps:

  1. Normalize: Converts a raw JSON RPC payload into a Transaction object.
  2. Parse: Routes each instruction in the Transaction to the correct program-level parser. Produces objects describing each recognized instruction.
  3. Resolve: Takes the parsed instructions and converts them into a more human-readable format.

Support

  • Normalizers
    • Standard RPC Response
    • Modified YellowStone Geyser Response
  • Parsers
    • Compute Budget
    • System Program
    • Token Program
    • PumpFun Program
    • Raydium AMM Program
  • Resolvers
    • PumpFun Swap
    • Raydium Swap

Usage

import soltxs

tx = {"jsonrpc": ..., "result": ..., "id": ...}

# All three steps below can be combined into a single call.
# Equivalent to: resolve(parse(normalize(tx)))
result = soltxs.process(tx)

norm_tx = soltxs.normalize(tx)
# Transaction(
#     slot=...,
#     blockTime=...,
#     signatures=[...],
#     message=...,
#     meta=...,
#     loadedAddresses=...,
# )

parsed_data = soltxs.parse(norm_tx)
# ParsedTransaction(
#     signatures=[...],
#     instructions=[
#         <ComputeBudget.SetComputeUnitLimit(...)>,
#         <ComputeBudget.SetComputeUnitPrice(...)>,
#         <SystemProgram.CreateAccount(...)>,
#         <TokenProgram.InitAccount(...)>,
#         <RaydiumAMM.Swap(...)>,
#         <TokenProgram.Unknown(...)>,
#         <SystemProgram.Transfer(...)>,
#         <UnknownProgram.Unknown(...)>,
#     ],
#     Addons(
#         compute_units=<ComputeUnits(...)>,
#         instruction_count=<InstructionCount(...)>,
#         loaded_addresses=<LoadedAddresses(...)>
#         platform_identifier=<PlatformIdentifier(...)>,
#         token_transfer_summary=<TokenTransfer(...)>
#     )
# )

resolved_tx = soltxs.resolve(parsed_data)
# For example, a Raydium resolved output might be:
# Raydium(
#     type=...,
#     who=...,
#     from_token=...,
#     from_amount=...,
#     to_token=...,
#     to_amount=...,
#     minimum_amount_out=...
# )

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

soltxs-1.0.8.tar.gz (22.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

soltxs-1.0.8-py3-none-any.whl (34.3 kB view details)

Uploaded Python 3

File details

Details for the file soltxs-1.0.8.tar.gz.

File metadata

  • Download URL: soltxs-1.0.8.tar.gz
  • Upload date:
  • Size: 22.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for soltxs-1.0.8.tar.gz
Algorithm Hash digest
SHA256 56f72e6ca619de75c06e34e0366505c0db6fa0d9f84673b02f6294b5fbed75b7
MD5 09c44eba3b4bbad1514b2d3bca99ebb4
BLAKE2b-256 7909e54521b7ea4c827bb8b2d32c233aa2f3b5934beb54135eb799e5ecf04c6f

See more details on using hashes here.

Provenance

The following attestation bundles were made for soltxs-1.0.8.tar.gz:

Publisher: release.yaml on qvecs/soltxs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file soltxs-1.0.8-py3-none-any.whl.

File metadata

  • Download URL: soltxs-1.0.8-py3-none-any.whl
  • Upload date:
  • Size: 34.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for soltxs-1.0.8-py3-none-any.whl
Algorithm Hash digest
SHA256 ae40dee1a73d7be46d1c0a5c653545bb1a35aee8985aaf76b11891e312964ee3
MD5 41226ff524cf8a4acf56043b306a1a42
BLAKE2b-256 80c2c52fc3ff73a1cd4d9939fe7fca19bc2d48712d3755b0b2541d3e1aaa7654

See more details on using hashes here.

Provenance

The following attestation bundles were made for soltxs-1.0.8-py3-none-any.whl:

Publisher: release.yaml on qvecs/soltxs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page