Documentation
¶
Index ¶
- Constants
- Variables
- func ConvertBlockchainType(blockchain commonv1.Blockchain) (wconstants.BlockchainType, error)
- func ConvertBlockchainTypeToPb(blockchain wconstants.BlockchainType) commonv1.Blockchain
- func ConvertTransferStatusToPb(status constants.TransferStatus) transferv1.Status
- func ConvertTransferTransactionStatusToPb(txStatus TransferTransactionsStatus) transferv1.TransferTransactionStatus
- func ConvertTransferTransactionTypeToPb(txType TransferTransactionType) transferv1.TransferTransactionType
- func TransferTransactionSystemTypes() []string
- type Asset
- type BlockchainBlock
- type Client
- type ColdWallet
- type HotWallet
- type LastProcessedBlock
- type NotificationError
- type NullRiverJobState
- type Owner
- type ProcessedBlock
- type ProcessingError
- type ProcessingWallet
- type PrometheusMetricType
- type RiverClient
- type RiverClientQueue
- type RiverJob
- type RiverJobState
- type RiverLeader
- type RiverQueue
- type Setting
- type Transfer
- type TransferTransaction
- type TransferTransactionType
- type TransferTransactionsStatus
- type Webhook
- type WebhookEventStatus
- type WebhookKind
- type WebhookStatus
- type WebhookView
Constants ¶
View Source
const DefaultWalletTTL = time.Minute * 20
Variables ¶
View Source
var ( ErrNoRowsInResultSet = NewProcessingError("no rows in result set") ErrBlockNotFound = NewProcessingError("block not found") ErrTransactionType NotificationError = errors.New("define transaction type") ErrSendWebhook NotificationError = errors.New("send webhook") ErrBlockProcessingTimeout NotificationError = errors.New("block processing timeout") ErrWithdrawalNotFound NotificationError = errors.New("withdrawal not found") ErrWalletCast = errors.New("wallet type cast error") ErrWalletNotFound = errors.New("wallet not found") ErrOwnerNotFound = errors.New("owner not found") ErrClientNotFound = errors.New("client not found") ErrBlockchainUndefined = errors.New("blockchain undefined") )
Functions ¶
func ConvertBlockchainType ¶
func ConvertBlockchainType(blockchain commonv1.Blockchain) (wconstants.BlockchainType, error)
ConvertBlockchainType converts commonv1.Blockchain to wconstants.BlockchainType.
func ConvertBlockchainTypeToPb ¶
func ConvertBlockchainTypeToPb(blockchain wconstants.BlockchainType) commonv1.Blockchain
ConvertBlockchainTypeToPb
func ConvertTransferStatusToPb ¶
func ConvertTransferStatusToPb(status constants.TransferStatus) transferv1.Status
ConvertTransferStatusToPb converts a TransferStatus to a TransferStatus protobuf message
func ConvertTransferTransactionStatusToPb ¶
func ConvertTransferTransactionStatusToPb(txStatus TransferTransactionsStatus) transferv1.TransferTransactionStatus
func ConvertTransferTransactionTypeToPb ¶
func ConvertTransferTransactionTypeToPb(txType TransferTransactionType) transferv1.TransferTransactionType
func TransferTransactionSystemTypes ¶
func TransferTransactionSystemTypes() []string
Types ¶
type BlockchainBlock ¶
type BlockchainBlock struct { Blockchain wconstants.BlockchainType Number uint64 }
type Client ¶
type Client struct { ID uuid.UUID `db:"id" json:"id"` SecretKey string `db:"secret_key" json:"secret_key"` CallbackUrl string `db:"callback_url" json:"callback_url"` CreatedAt pgtype.Timestamptz `db:"created_at" json:"created_at"` UpdatedAt pgtype.Timestamptz `db:"updated_at" json:"updated_at"` }
type ColdWallet ¶
type ColdWallet struct { ID uuid.UUID `db:"id" json:"id"` Blockchain wconstants.BlockchainType `db:"blockchain" json:"blockchain" validate:"required"` Address string `db:"address" json:"address" validate:"required"` OwnerID uuid.UUID `db:"owner_id" json:"owner_id" validate:"required,uuid4"` IsActive bool `db:"is_active" json:"is_active"` IsDirty bool `db:"is_dirty" json:"is_dirty"` CreatedAt pgtype.Timestamptz `db:"created_at" json:"created_at"` UpdatedAt pgtype.Timestamptz `db:"updated_at" json:"updated_at"` }
type HotWallet ¶
type HotWallet struct { ID uuid.UUID `db:"id" json:"id"` Blockchain wconstants.BlockchainType `db:"blockchain" json:"blockchain" validate:"required"` Address string `db:"address" json:"address" validate:"required"` OwnerID uuid.UUID `db:"owner_id" json:"owner_id" validate:"required,uuid4"` ExternalWalletID string `db:"external_wallet_id" json:"external_wallet_id" validate:"required"` Sequence int32 `db:"sequence" json:"sequence"` IsActivated bool `db:"is_activated" json:"is_activated"` IsActive bool `db:"is_active" json:"is_active"` IsDirty bool `db:"is_dirty" json:"is_dirty"` CreatedAt pgtype.Timestamptz `db:"created_at" json:"created_at"` UpdatedAt pgtype.Timestamptz `db:"updated_at" json:"updated_at"` }
type LastProcessedBlock ¶
type LastProcessedBlock struct { Blockchain wconstants.BlockchainType StartBlockNumber uint64 EndBlockNumber uint64 }
type NotificationError ¶
type NotificationError error
type NullRiverJobState ¶
type NullRiverJobState struct { RiverJobState RiverJobState `json:"river_job_state"` Valid bool `json:"valid"` // Valid is true if RiverJobState is not NULL }
func (*NullRiverJobState) Scan ¶
func (ns *NullRiverJobState) Scan(value interface{}) error
Scan implements the Scanner interface.
type Owner ¶
type Owner struct { ID uuid.UUID `db:"id" json:"id"` ExternalID string `db:"external_id" json:"external_id" validate:"required"` ClientID uuid.UUID `db:"client_id" json:"client_id" validate:"required,uuid4"` Mnemonic string `db:"mnemonic" json:"mnemonic" validate:"required"` PassPhrase pgtype.Text `db:"pass_phrase" json:"pass_phrase"` OtpSecret pgtype.Text `db:"otp_secret" json:"otp_secret" validate:"required"` OtpConfirmed bool `db:"otp_confirmed" json:"otp_confirmed"` CreatedAt pgtype.Timestamptz `db:"created_at" json:"created_at"` UpdatedAt pgtype.Timestamptz `db:"updated_at" json:"updated_at"` }
type ProcessedBlock ¶
type ProcessedBlock struct { Blockchain wconstants.BlockchainType `db:"blockchain" json:"blockchain"` Number int64 `db:"number" json:"number"` CreatedAt pgtype.Timestamptz `db:"created_at" json:"created_at"` UpdatedAt pgtype.Timestamptz `db:"updated_at" json:"updated_at"` }
type ProcessingError ¶
type ProcessingError string
func NewProcessingError ¶
func NewProcessingError(str string) ProcessingError
func (ProcessingError) Contains ¶
func (p ProcessingError) Contains(err error) bool
func (ProcessingError) Error ¶
func (p ProcessingError) Error() string
type ProcessingWallet ¶
type ProcessingWallet struct { ID uuid.UUID `db:"id" json:"id"` Blockchain wconstants.BlockchainType `db:"blockchain" json:"blockchain" validate:"required"` Address string `db:"address" json:"address" validate:"required"` OwnerID uuid.UUID `db:"owner_id" json:"owner_id" validate:"required,uuid4"` Sequence int32 `db:"sequence" json:"sequence"` IsActive bool `db:"is_active" json:"is_active"` IsDirty bool `db:"is_dirty" json:"is_dirty"` CreatedAt pgtype.Timestamptz `db:"created_at" json:"created_at"` UpdatedAt pgtype.Timestamptz `db:"updated_at" json:"updated_at"` }
type PrometheusMetricType ¶
type PrometheusMetricType int
const ErrorPrometheusMetricType PrometheusMetricType = iota
type RiverClient ¶
type RiverClient struct { ID string `db:"id" json:"id"` CreatedAt pgtype.Timestamptz `db:"created_at" json:"created_at"` Metadata []byte `db:"metadata" json:"metadata"` PausedAt pgtype.Timestamptz `db:"paused_at" json:"paused_at"` UpdatedAt pgtype.Timestamptz `db:"updated_at" json:"updated_at"` }
type RiverClientQueue ¶
type RiverClientQueue struct { RiverClientID string `db:"river_client_id" json:"river_client_id"` Name string `db:"name" json:"name"` CreatedAt pgtype.Timestamptz `db:"created_at" json:"created_at"` MaxWorkers int64 `db:"max_workers" json:"max_workers"` Metadata []byte `db:"metadata" json:"metadata"` NumJobsCompleted int64 `db:"num_jobs_completed" json:"num_jobs_completed"` NumJobsRunning int64 `db:"num_jobs_running" json:"num_jobs_running"` UpdatedAt pgtype.Timestamptz `db:"updated_at" json:"updated_at"` }
type RiverJob ¶
type RiverJob struct { ID int64 `db:"id" json:"id"` State RiverJobState `db:"state" json:"state"` Attempt int16 `db:"attempt" json:"attempt"` MaxAttempts int16 `db:"max_attempts" json:"max_attempts"` AttemptedAt pgtype.Timestamptz `db:"attempted_at" json:"attempted_at"` CreatedAt pgtype.Timestamptz `db:"created_at" json:"created_at"` FinalizedAt pgtype.Timestamptz `db:"finalized_at" json:"finalized_at"` ScheduledAt pgtype.Timestamptz `db:"scheduled_at" json:"scheduled_at"` Priority int16 `db:"priority" json:"priority"` Args []byte `db:"args" json:"args"` AttemptedBy []string `db:"attempted_by" json:"attempted_by"` Errors [][]byte `db:"errors" json:"errors"` Kind string `db:"kind" json:"kind"` Metadata []byte `db:"metadata" json:"metadata"` Queue string `db:"queue" json:"queue"` Tags []string `db:"tags" json:"tags"` UniqueKey []byte `db:"unique_key" json:"unique_key"` UniqueStates pgtype.Bits `db:"unique_states" json:"unique_states"` }
type RiverJobState ¶
type RiverJobState string
const ( RiverJobStateAvailable RiverJobState = "available" RiverJobStateCancelled RiverJobState = "cancelled" RiverJobStateCompleted RiverJobState = "completed" RiverJobStateDiscarded RiverJobState = "discarded" RiverJobStatePending RiverJobState = "pending" RiverJobStateRetryable RiverJobState = "retryable" RiverJobStateRunning RiverJobState = "running" RiverJobStateScheduled RiverJobState = "scheduled" )
func AllRiverJobStateValues ¶
func AllRiverJobStateValues() []RiverJobState
func (*RiverJobState) Scan ¶
func (e *RiverJobState) Scan(src interface{}) error
func (RiverJobState) Valid ¶
func (e RiverJobState) Valid() bool
type RiverLeader ¶
type RiverLeader struct { ElectedAt pgtype.Timestamptz `db:"elected_at" json:"elected_at"` ExpiresAt pgtype.Timestamptz `db:"expires_at" json:"expires_at"` LeaderID string `db:"leader_id" json:"leader_id"` Name string `db:"name" json:"name"` }
type RiverQueue ¶
type RiverQueue struct { Name string `db:"name" json:"name"` CreatedAt pgtype.Timestamptz `db:"created_at" json:"created_at"` Metadata []byte `db:"metadata" json:"metadata"` PausedAt pgtype.Timestamptz `db:"paused_at" json:"paused_at"` UpdatedAt pgtype.Timestamptz `db:"updated_at" json:"updated_at"` }
type Setting ¶
type Setting struct { ID uuid.UUID `db:"id" json:"id"` ModelID uuid.NullUUID `db:"model_id" json:"model_id"` ModelType pgtype.Text `db:"model_type" json:"model_type"` Name string `db:"name" json:"name"` Value string `db:"value" json:"value"` CreatedAt pgtype.Timestamptz `db:"created_at" json:"created_at"` UpdatedAt pgtype.Timestamptz `db:"updated_at" json:"updated_at"` }
type Transfer ¶
type Transfer struct { ID uuid.UUID `db:"id" json:"id"` Status constants.TransferStatus `db:"status" json:"status"` ClientID uuid.UUID `db:"client_id" json:"client_id"` OwnerID uuid.UUID `db:"owner_id" json:"owner_id"` RequestID string `db:"request_id" json:"request_id"` Blockchain wconstants.BlockchainType `db:"blockchain" json:"blockchain"` FromAddresses []string `db:"from_addresses" json:"from_addresses"` ToAddresses []string `db:"to_addresses" json:"to_addresses"` WalletFromType constants.WalletType `db:"wallet_from_type" json:"wallet_from_type"` AssetIdentifier string `db:"asset_identifier" json:"asset_identifier"` Kind pgtype.Text `db:"kind" json:"kind"` WholeAmount bool `db:"whole_amount" json:"whole_amount"` Amount decimal.NullDecimal `db:"amount" json:"amount"` Fee decimal.NullDecimal `db:"fee" json:"fee"` FeeMax decimal.NullDecimal `db:"fee_max" json:"fee_max"` TxHash pgtype.Text `db:"tx_hash" json:"tx_hash"` CreatedAt pgtype.Timestamptz `db:"created_at" json:"created_at"` UpdatedAt pgtype.Timestamptz `db:"updated_at" json:"updated_at"` StateData map[string]any `db:"state_data" json:"state_data"` WorkflowSnapshot workflow.Snapshot `db:"workflow_snapshot" json:"workflow_snapshot"` }
func (Transfer) GetFromAddress ¶
GetFromAddress returns the first from address
func (Transfer) GetToAddress ¶
GetToAddress returns the first to address
type TransferTransaction ¶
type TransferTransaction struct { ID uuid.UUID `db:"id" json:"id"` TransferID uuid.UUID `db:"transfer_id" json:"transfer_id"` TxHash string `db:"tx_hash" json:"tx_hash"` BandwidthAmount decimal.Decimal `db:"bandwidth_amount" json:"bandwidth_amount"` EnergyAmount decimal.Decimal `db:"energy_amount" json:"energy_amount"` NativeTokenAmount decimal.Decimal `db:"native_token_amount" json:"native_token_amount"` NativeTokenFee decimal.Decimal `db:"native_token_fee" json:"native_token_fee"` TxType TransferTransactionType `db:"tx_type" json:"tx_type"` Status TransferTransactionsStatus `db:"status" json:"status"` Step string `db:"step" json:"step"` CreatedAt pgtype.Timestamptz `db:"created_at" json:"created_at"` UpdatedAt pgtype.Timestamptz `db:"updated_at" json:"updated_at"` }
func (*TransferTransaction) ToPb ¶
func (tt *TransferTransaction) ToPb() *transferv1.TransferTransaction
type TransferTransactionType ¶
type TransferTransactionType string
const ( TransferTransactionTypeDelegateResources TransferTransactionType = "resource_delegation" TransferTransactionTypeReclaimResources TransferTransactionType = "resource_reclaim" TransferTransactionTypeSendBurnBaseAsset TransferTransactionType = "send_burn_base_asset" TransferTransactionTypeAccountActivation TransferTransactionType = "account_activation" TransferTransactionTypeTransfer TransferTransactionType = "transfer" )
func (TransferTransactionType) String ¶
func (t TransferTransactionType) String() string
type TransferTransactionsStatus ¶
type TransferTransactionsStatus string
const ( TransferTransactionsStatusPending TransferTransactionsStatus = "pending" TransferTransactionsStatusUnconfirmed TransferTransactionsStatus = "unconfirmed" TransferTransactionsStatusConfirmed TransferTransactionsStatus = "confirmed" TransferTransactionsStatusFailed TransferTransactionsStatus = "failed" )
func (TransferTransactionsStatus) String ¶
func (tts TransferTransactionsStatus) String() string
type Webhook ¶
type Webhook struct { ID uuid.UUID `db:"id" json:"id"` Kind WebhookKind `db:"kind" json:"kind"` Status WebhookStatus `db:"status" json:"status"` Attempts int32 `db:"attempts" json:"attempts"` Payload []byte `db:"payload" json:"payload"` ClientID uuid.UUID `db:"client_id" json:"client_id"` Response pgtype.Text `db:"response" json:"response"` CreatedAt pgtype.Timestamptz `db:"created_at" json:"created_at"` SentAt pgtype.Timestamptz `db:"sent_at" json:"sent_at"` UpdatedAt pgtype.Timestamptz `db:"updated_at" json:"updated_at"` }
type WebhookEventStatus ¶
type WebhookEventStatus string
const ( WebhookEventStatusWaitingConfirmations WebhookEventStatus = "waiting_confirmations" WebhookEventStatusInMempool WebhookEventStatus = "in_mempool" WebhookEventStatusCompleted WebhookEventStatus = "completed" WebhookEventStatusFailed WebhookEventStatus = "failed" )
func (*WebhookEventStatus) Scan ¶
func (w *WebhookEventStatus) Scan(src interface{}) error
Scan implements the sql.Scanner interface
func (WebhookEventStatus) String ¶
func (w WebhookEventStatus) String() string
String returns the webhook event status as a string
type WebhookKind ¶
type WebhookKind string
const ( WebhookKindTransfer WebhookKind = "transfer" WebhookKindDeposit WebhookKind = "deposit" WebhookKindTransferStatus WebhookKind = "transfer_status" )
func (*WebhookKind) Scan ¶
func (w *WebhookKind) Scan(src interface{}) error
Scan implements the sql.Scanner interface
func (WebhookKind) String ¶
func (w WebhookKind) String() string
String returns the webhook kind as a string
type WebhookStatus ¶
type WebhookStatus string
const ( WebhookStatusNew WebhookStatus = "new" WebhookStatusSent WebhookStatus = "sent" )
func (*WebhookStatus) Scan ¶
func (w *WebhookStatus) Scan(src interface{}) error
Scan implements the sql.Scanner interface
func (WebhookStatus) String ¶
func (w WebhookStatus) String() string
String returns the webhook status as a string
type WebhookView ¶
type WebhookView struct { ID uuid.UUID `db:"id" json:"id"` Kind WebhookKind `db:"kind" json:"kind"` Status WebhookStatus `db:"status" json:"status"` Attempts int32 `db:"attempts" json:"attempts"` Payload []byte `db:"payload" json:"payload"` ClientID uuid.UUID `db:"client_id" json:"client_id"` Response pgtype.Text `db:"response" json:"response"` CreatedAt pgtype.Timestamptz `db:"created_at" json:"created_at"` SentAt pgtype.Timestamptz `db:"sent_at" json:"sent_at"` UpdatedAt pgtype.Timestamptz `db:"updated_at" json:"updated_at"` CallbackUrl string `db:"callback_url" json:"callback_url"` SecretKey string `db:"secret_key" json:"secret_key"` }
Click to show internal directories.
Click to hide internal directories.