chain

package
v0.1.25 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 8, 2026 License: MIT Imports: 23 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type BitcoinIndexer

type BitcoinIndexer struct {
	// contains filtered or unexported fields
}

func NewBitcoinIndexer

func NewBitcoinIndexer(sdk *btc.SDK) *BitcoinIndexer

func (*BitcoinIndexer) ComputeTxHash

func (b *BitcoinIndexer) ComputeTxHash(proposedTx []byte, sigs map[string]tss.KeysignResponse, _ []byte) (string, error)

type EvmIndexer

type EvmIndexer struct {
	// contains filtered or unexported fields
}

func NewEvmIndexer

func NewEvmIndexer(evmChainID *big.Int) *EvmIndexer

func (*EvmIndexer) ComputeTxHash

func (e *EvmIndexer) ComputeTxHash(proposedTx []byte, sigs map[string]tss.KeysignResponse, _ []byte) (string, error)

type Indexer

type Indexer interface {
	ComputeTxHash(proposedTx []byte, sigs map[string]tss.KeysignResponse, pubKey []byte) (string, error)
}

type MayaChainIndexer added in v0.1.19

type MayaChainIndexer struct {
	// contains filtered or unexported fields
}

func NewMayaChainIndexer added in v0.1.19

func NewMayaChainIndexer(sdk *cosmossdk.SDK) *MayaChainIndexer

func (*MayaChainIndexer) ComputeTxHash added in v0.1.19

func (m *MayaChainIndexer) ComputeTxHash(proposedTx []byte, sigs map[string]tss.KeysignResponse, pubKey []byte) (string, error)

type SolanaIndexer

type SolanaIndexer struct {
	// contains filtered or unexported fields
}

func NewSolanaIndexer

func NewSolanaIndexer(sdk *solanaSDK.SDK) *SolanaIndexer

func (*SolanaIndexer) ComputeTxHash

func (s *SolanaIndexer) ComputeTxHash(proposedTx []byte, sigs map[string]tss.KeysignResponse, _ []byte) (string, error)

type THORChainIndexer added in v0.1.16

type THORChainIndexer struct {
	// contains filtered or unexported fields
}

func NewTHORChainIndexer added in v0.1.16

func NewTHORChainIndexer(sdk *cosmossdk.SDK) *THORChainIndexer

func (*THORChainIndexer) ComputeTxHash added in v0.1.16

func (t *THORChainIndexer) ComputeTxHash(proposedTx []byte, sigs map[string]tss.KeysignResponse, pubKey []byte) (string, error)

type TronIndexer added in v0.1.17

type TronIndexer struct {
	// contains filtered or unexported fields
}

func NewTronIndexer added in v0.1.17

func NewTronIndexer(sdk *tronSDK.SDK) *TronIndexer

func (*TronIndexer) ComputeTxHash added in v0.1.17

func (t *TronIndexer) ComputeTxHash(proposedTx []byte, _ map[string]tss.KeysignResponse, _ []byte) (string, error)

type UtxoIndexer added in v0.1.16

type UtxoIndexer struct {
	// contains filtered or unexported fields
}

UtxoIndexer is a generic indexer for UTXO chains that use BTC-compatible wire format. This includes Litecoin, Dogecoin, and Bitcoin Cash.

Transaction format compatibility: - All these chains use the same transaction serialization format as Bitcoin (btcd/wire) - Txid is computed identically: double SHA256 of the serialized transaction - The btcd/wire.MsgTx.Deserialize() correctly parses transactions from all these chains

Note: Signing differences (e.g., BCH's SIGHASH_FORKID) are handled by chain-specific SDKs.

func NewBitcoinCashIndexer added in v0.1.16

func NewBitcoinCashIndexer() *UtxoIndexer

NewBitcoinCashIndexer creates a Bitcoin Cash chain indexer. BCH requires its own SDK because it uses SIGHASH_FORKID and BIP143-style signature hashing.

func NewDashIndexer added in v0.1.19

func NewDashIndexer() *UtxoIndexer

NewDashIndexer creates a Dash chain indexer.

func NewDogecoinIndexer added in v0.1.16

func NewDogecoinIndexer() *UtxoIndexer

NewDogecoinIndexer creates a Dogecoin chain indexer.

func NewLitecoinIndexer added in v0.1.16

func NewLitecoinIndexer() *UtxoIndexer

NewLitecoinIndexer creates a Litecoin chain indexer.

func NewUtxoIndexer added in v0.1.16

func NewUtxoIndexer(chain common.Chain) *UtxoIndexer

NewUtxoIndexer creates a new UTXO chain indexer for the specified chain.

func (*UtxoIndexer) ComputeTxHash added in v0.1.16

func (u *UtxoIndexer) ComputeTxHash(proposedTx []byte, sigs map[string]tss.KeysignResponse, _ []byte) (string, error)

ComputeTxHash computes the transaction hash for a signed UTXO transaction. It uses the BTC SDK for signing since all these chains use compatible PSBT format.

type UtxoSDK added in v0.1.16

type UtxoSDK interface {
	Sign(psbtBytes []byte, signatures map[string]tss.KeysignResponse) ([]byte, error)
	CalculateInputSignatureHash(pkt *psbt.Packet, inputIndex int) ([]byte, error)
}

UtxoSDK defines the interface for UTXO chain SDKs used by the indexer.

type XRPIndexer

type XRPIndexer struct {
	// contains filtered or unexported fields
}

func NewXRPIndexer

func NewXRPIndexer(sdk *xrpl.SDK) *XRPIndexer

func (*XRPIndexer) ComputeTxHash

func (x *XRPIndexer) ComputeTxHash(proposedTx []byte, sigs map[string]tss.KeysignResponse, pubKey []byte) (string, error)

type ZcashIndexer added in v0.1.16

type ZcashIndexer struct{}

ZcashIndexer handles Zcash transaction hash computation for the tx_indexer. It uses the recipes SDK for all Zcash-specific logic.

func NewZcashIndexer added in v0.1.16

func NewZcashIndexer() *ZcashIndexer

NewZcashIndexer creates a new ZcashIndexer instance.

func (*ZcashIndexer) ComputeTxHash added in v0.1.16

func (z *ZcashIndexer) ComputeTxHash(proposedTx []byte, sigs map[string]tss.KeysignResponse, _ []byte) (string, error)

ComputeTxHash computes the transaction hash for a signed Zcash transaction. The proposedTx should contain the raw transaction bytes with embedded metadata (created using zcash.SerializeWithMetadata from the SDK). The embedded metadata includes: - Public key (33 bytes) for building scriptSig - Pre-computed sighashes for signature lookup

It orders signatures correctly by using the embedded sighashes to look up signatures from the map using the derived key (SHA256 + Base64).

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL