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 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).