chains

package
v0.0.1-gowrapper-test Latest Latest
Warning

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

Go to latest
Published: Sep 30, 2025 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ValidateXRPAmount

func ValidateXRPAmount(amount int64) error

ValidateXRPAmount validates an XRP amount

func ValidateXRPDestinationTag

func ValidateXRPDestinationTag(destinationTag uint64) error

ValidateXRPDestinationTag validates a destination tag

func ValidateXRPFee

func ValidateXRPFee(fee int64) error

ValidateXRPFee validates an XRP fee

func ValidateXRPFlags

func ValidateXRPFlags(flags uint64) error

ValidateXRPFlags validates XRP transaction flags

func ValidateXRPLastLedgerSequence

func ValidateXRPLastLedgerSequence(lastLedgerSequence uint32) error

ValidateXRPLastLedgerSequence validates a last ledger sequence

func ValidateXRPSequence

func ValidateXRPSequence(sequence uint32) error

ValidateXRPSequence validates an XRP sequence number

func ValidateXRPSourceTag

func ValidateXRPSourceTag(sourceTag uint64) error

ValidateXRPSourceTag validates a source tag

Types

type XRPChain

type XRPChain struct {
	*chain_abstraction.BaseChain
}

XRPChain implements the Chain interface for XRP (Ripple) blockchain

func NewXRPChain

func NewXRPChain() *XRPChain

NewXRPChain creates a new XRP chain instance

func (*XRPChain) BuildSigningInput

func (c *XRPChain) BuildSigningInput(
	account string,
	sequence uint32,
	fee int64,
	lastLedgerSequence uint32,
	destination string,
	amount int64,
	destinationTag *uint64,
	sourceTag *uint64,
	flags *uint64,
) (*ripple.SigningInput, error)

BuildSigningInput builds a signing input from individual parameters

func (*XRPChain) BuildSigningInputFromRequest

func (c *XRPChain) BuildSigningInputFromRequest(request *XRPTransferRequest) (*ripple.SigningInput, error)

BuildSigningInputFromRequest builds a signing input from a transfer request

func (*XRPChain) CompileTransaction

func (c *XRPChain) CompileTransaction(txInput *chain_abstraction.TransactionInput, signatures [][]byte, publicKeys [][]byte) ([]byte, error)

CompileTransaction compiles a transaction with external signatures

func (*XRPChain) CreateAndSignTransaction

func (c *XRPChain) CreateAndSignTransaction(input interface{}, privateKey []byte) ([]byte, error)

CreateAndSignTransaction creates and signs a transaction directly

func (*XRPChain) GetPreimageHash

func (c *XRPChain) GetPreimageHash(txInput *chain_abstraction.TransactionInput) ([]byte, []byte, error)

GetPreimageHash gets the preimage hash for external signing

func (*XRPChain) GetPublicKeyFromPrivateKey

func (c *XRPChain) GetPublicKeyFromPrivateKey(privateKey []byte) ([]byte, error)

GetPublicKeyFromPrivateKey derives a public key from a private key

func (*XRPChain) GetTransactionHash

func (c *XRPChain) GetTransactionHash(encodedTx []byte) (string, error)

GetTransactionHash calculates the transaction hash

func (*XRPChain) PrepareTransaction

func (c *XRPChain) PrepareTransaction(input interface{}) (*chain_abstraction.TransactionInput, error)

PrepareTransaction prepares a transaction for external signing

func (*XRPChain) Sign

func (c *XRPChain) Sign(data []byte, privateKey []byte) ([]byte, error)

Sign signs data with a private key

func (*XRPChain) ValidateTransactionInput

func (c *XRPChain) ValidateTransactionInput(input interface{}) error

ValidateTransactionInput validates XRP transaction input

type XRPTransferRequest

type XRPTransferRequest struct {
	Account            string  `json:"account" validate:"required"`
	Sequence           uint32  `json:"sequence" validate:"required"`
	Fee                int64   `json:"fee" validate:"required,min=1"`
	LastLedgerSequence uint32  `json:"last_ledger_sequence" validate:"required"`
	Destination        string  `json:"destination" validate:"required"`
	Amount             int64   `json:"amount" validate:"required,min=1"`
	DestinationTag     *uint64 `json:"destination_tag,omitempty"`
	SourceTag          *uint64 `json:"source_tag,omitempty"`
	Flags              *uint64 `json:"flags,omitempty"`
}

XRPTransferRequest represents a request to transfer XRP

func NewXRPTransferRequest

func NewXRPTransferRequest() *XRPTransferRequest

NewXRPTransferRequest creates a new XRP transfer request

func (*XRPTransferRequest) SetAccount

func (r *XRPTransferRequest) SetAccount(account string) *XRPTransferRequest

SetAccount sets the account field

func (*XRPTransferRequest) SetAmount

func (r *XRPTransferRequest) SetAmount(amount int64) *XRPTransferRequest

SetAmount sets the amount field

func (*XRPTransferRequest) SetDestination

func (r *XRPTransferRequest) SetDestination(destination string) *XRPTransferRequest

SetDestination sets the destination field

func (*XRPTransferRequest) SetDestinationTag

func (r *XRPTransferRequest) SetDestinationTag(destinationTag uint64) *XRPTransferRequest

SetDestinationTag sets the destination tag field

func (*XRPTransferRequest) SetFee

SetFee sets the fee field

func (*XRPTransferRequest) SetFlags

func (r *XRPTransferRequest) SetFlags(flags uint64) *XRPTransferRequest

SetFlags sets the flags field

func (*XRPTransferRequest) SetLastLedgerSequence

func (r *XRPTransferRequest) SetLastLedgerSequence(lastLedgerSequence uint32) *XRPTransferRequest

SetLastLedgerSequence sets the last ledger sequence field

func (*XRPTransferRequest) SetSequence

func (r *XRPTransferRequest) SetSequence(sequence uint32) *XRPTransferRequest

SetSequence sets the sequence field

func (*XRPTransferRequest) SetSourceTag

func (r *XRPTransferRequest) SetSourceTag(sourceTag uint64) *XRPTransferRequest

SetSourceTag sets the source tag field

func (*XRPTransferRequest) Validate

func (r *XRPTransferRequest) Validate() error

Validate validates the XRP transfer request

Jump to

Keyboard shortcuts

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