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
# to the 'process' function. The function below is equivalent to:
# resolve(parse(normalize(tx)))
result = soltxs.process(tx)

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

prsd_tx = soltxs.parse(norm_tx)
# [
#     <ComputeBudget.SetComputeUnitLimit(...)>,
#     <ComputeBudget.SetComputeUnitPrice(...)>,
#     <SystemProgram.CreateAccount(...)>,
#     <TokenProgram.InitAccount(...)>,
#     <RaydiumAMM.Swap(...)>,
#     <TokenProgram.Unknown(...)>,
#     <SystemProgram.Transfer(...)>,
#     <UnknownProgram.Unknown(...)>,
# ]

rsvl_tx = soltxs.resolve(prsd_tx)
# Raydium(
#     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.1.tar.gz (4.5 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.1-py3-none-any.whl (2.4 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for soltxs-1.0.1.tar.gz
Algorithm Hash digest
SHA256 1ad903950b332871ca8a5bbb1d3f4c3b1ecaa4ad397ecfbf63cc1a3f37f41f7b
MD5 5ac2abb9d20f07f9a2c4a9051e8e6dcf
BLAKE2b-256 9f76ef82a871434b0f27c37f804122722af565c3aa67ba15b220910eb951573c

See more details on using hashes here.

Provenance

The following attestation bundles were made for soltxs-1.0.1.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.1-py3-none-any.whl.

File metadata

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

File hashes

Hashes for soltxs-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 1e3717a9e82663bf45b8bca7078cfd876137fb403ceb3d89c0156491bfa9f97c
MD5 9e78ae05d4fe8993a914ceb9951ab46b
BLAKE2b-256 d9fdd24933e4f7e55a631cf35bd67d3e22bbafcbc9bb3ba6ebb854201f64f541

See more details on using hashes here.

Provenance

The following attestation bundles were made for soltxs-1.0.1-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