Documentation
¶
Index ¶
- type ProtocolRouter
- func (pr *ProtocolRouter) GetLastRollup() map[string]time.Time
- func (pr *ProtocolRouter) GetQueueStatus() map[string]int
- func (pr *ProtocolRouter) GetStats() *RouterStats
- func (pr *ProtocolRouter) GetValidatedTransactions(protocol string) []*ProtocolTransaction
- func (pr *ProtocolRouter) RouteTransaction(protocol string, data []byte, sender string, recipient string) (*ProtocolTransaction, error)
- func (pr *ProtocolRouter) SetCallbacks(onValidated func(*ProtocolTransaction) error, ...)
- type ProtocolTransaction
- type RollupBlock
- type RouterStats
- type TransactionStatus
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ProtocolRouter ¶
type ProtocolRouter struct {
// contains filtered or unexported fields
}
ProtocolRouter handles protocol-based transaction routing
func NewProtocolRouter ¶
func NewProtocolRouter() *ProtocolRouter
NewProtocolRouter creates a new protocol router
func (*ProtocolRouter) GetLastRollup ¶
func (pr *ProtocolRouter) GetLastRollup() map[string]time.Time
GetLastRollup returns the last rollup time for each protocol
func (*ProtocolRouter) GetQueueStatus ¶
func (pr *ProtocolRouter) GetQueueStatus() map[string]int
GetQueueStatus returns the current queue status
func (*ProtocolRouter) GetStats ¶
func (pr *ProtocolRouter) GetStats() *RouterStats
GetStats returns router statistics
func (*ProtocolRouter) GetValidatedTransactions ¶
func (pr *ProtocolRouter) GetValidatedTransactions(protocol string) []*ProtocolTransaction
GetValidatedTransactions returns validated transactions for a specific protocol
func (*ProtocolRouter) RouteTransaction ¶
func (pr *ProtocolRouter) RouteTransaction( protocol string, data []byte, sender string, recipient string, ) (*ProtocolTransaction, error)
RouteTransaction routes a transaction to the appropriate protocol
func (*ProtocolRouter) SetCallbacks ¶
func (pr *ProtocolRouter) SetCallbacks( onValidated func(*ProtocolTransaction) error, onFailed func(*ProtocolTransaction, string) error, onRollup func(*RollupBlock) error, )
SetCallbacks sets the callback functions
type ProtocolTransaction ¶
type ProtocolTransaction struct {
ID string `json:"id"`
Protocol string `json:"protocol"` // "BANK" or "MESSAGE"
Data []byte `json:"data"`
Status TransactionStatus `json:"status"`
CreatedAt time.Time `json:"created_at"`
ValidatedAt *time.Time `json:"validated_at,omitempty"`
FailedAt *time.Time `json:"failed_at,omitempty"`
ErrorMessage string `json:"error_message,omitempty"`
Sender string `json:"sender"`
Recipient string `json:"recipient"`
}
ProtocolTransaction represents a transaction routed to a specific protocol
type RollupBlock ¶
type RollupBlock struct {
ID string `json:"id"`
Protocol string `json:"protocol"`
Transactions []*ProtocolTransaction `json:"transactions"`
MerkleRoot string `json:"merkle_root"`
CreatedAt time.Time `json:"created_at"`
BlockNumber int `json:"block_number"`
}
RollupBlock represents a rollup block containing validated transactions
type RouterStats ¶
type RouterStats struct {
TotalTransactions int64 `json:"total_transactions"`
ValidatedTransactions int64 `json:"validated_transactions"`
FailedTransactions int64 `json:"failed_transactions"`
RollupBlocksCreated int64 `json:"rollup_blocks_created"`
BankTransactions int64 `json:"bank_transactions"`
MessageTransactions int64 `json:"message_transactions"`
AverageValidationTime time.Duration `json:"average_validation_time"`
AverageRollupTime time.Duration `json:"average_rollup_time"`
// contains filtered or unexported fields
}
RouterStats holds router statistics
type TransactionStatus ¶
type TransactionStatus string
TransactionStatus represents the status of a transaction
const ( StatusPending TransactionStatus = "pending" StatusValidated TransactionStatus = "validated" StatusFailed TransactionStatus = "failed" StatusRolledUp TransactionStatus = "rolled_up" )