models

package
v0.1.10 Latest Latest
Warning

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

Go to latest
Published: Aug 30, 2023 License: MIT Imports: 2 Imported by: 0

Documentation

Index

Constants

View Source
const (
	StatusPending   = "pending"
	StatusConfirmed = "confirmed"
	StatusSigned    = "signed"
	StatusSubmitted = "submitted"
	StatusSuccess   = "success"
	StatusFailed    = "failed"
)
View Source
const (
	CollectionBurns = "burns"
)
View Source
const (
	CollectionHealthChecks = "healthchecks"
)
View Source
const (
	CollectionInvalidMints = "invalidMints"
)
View Source
const (
	CollectionMints = "mints"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Burn

type Burn struct {
	Id               *primitive.ObjectID `bson:"_id,omitempty" json:"_id"`
	TransactionHash  string              `bson:"transaction_hash" json:"transaction_hash"`
	LogIndex         string              `bson:"log_index" json:"log_index"`
	BlockNumber      string              `bson:"block_number" json:"block_number"`
	Confirmations    string              `bson:"confirmations" json:"confirmations"`
	SenderAddress    string              `bson:"sender_address" json:"sender_address"`
	SenderChainId    string              `bson:"sender_chain_id" json:"sender_chain_id"`
	RecipientAddress string              `bson:"recipient_address" json:"recipient_address"`
	RecipientChainId string              `bson:"recipient_chain_id" json:"recipient_chain_id"`
	WPOKTAddress     string              `bson:"wpokt_address" json:"wpokt_address"`
	Amount           string              `bson:"amount" json:"amount"`
	CreatedAt        time.Time           `bson:"created_at" json:"created_at"`
	UpdatedAt        time.Time           `bson:"updated_at" json:"updated_at"`
	Status           string              `bson:"status" json:"status"`
	ReturnTx         string              `bson:"return_tx" json:"return_tx"`
	Signers          []string            `bson:"signers" json:"signers"`
	ReturnTxHash     string              `bson:"return_tx_hash" json:"return_tx_hash"`
}

type Config

type Config struct {
	GoogleSecretManager GoogleSecretManagerConfig `yaml:"google_secret_manager" json:"google_secret_manager"`
	HealthCheck         HealthCheckConfig         `yaml:"health_check" json:"health_check"`
	Logger              LoggerConfig              `yaml:"logger" json:"logger"`
	MongoDB             MongoConfig               `yaml:"mongodb" json:"mongo_db"`
	Ethereum            EthereumConfig            `yaml:"ethereum" json:"ethereum"`
	Pocket              PocketConfig              `yaml:"pocket" json:"pocket"`
	MintMonitor         ServiceConfig             `yaml:"mint_monitor" json:"mint_monitor"`
	MintSigner          ServiceConfig             `yaml:"mint_signer" json:"mint_signer"`
	MintExecutor        ServiceConfig             `yaml:"mint_executor" json:"mint_executor"`
	BurnMonitor         ServiceConfig             `yaml:"burn_monitor" json:"burn_monitor"`
	BurnSigner          ServiceConfig             `yaml:"burn_signer" json:"burn_signer"`
	BurnExecutor        ServiceConfig             `yaml:"burn_executor" json:"burn_executor"`
}

type EthereumConfig

type EthereumConfig struct {
	StartBlockNumber      int64    `yaml:"start_block_number" json:"start_block_number"`
	Confirmations         int64    `yaml:"confirmations" json:"confirmations"`
	PrivateKey            string   `yaml:"private_key" json:"private_key"`
	RPCURL                string   `yaml:"rpc_url" json:"rpcurl"`
	RPCTimeoutMillis      int64    `yaml:"rpc_timeout_ms" json:"rpc_time_out_ms"`
	ChainId               string   `yaml:"chain_id" json:"chain_id"`
	WrappedPocketAddress  string   `yaml:"wrapped_pocket_address" json:"wrapped_pocket_address"`
	MintControllerAddress string   `yaml:"mint_controller_address" json:"mint_controller_address"`
	ValidatorAddresses    []string `yaml:"validator_addresses" json:"validator_addresses"`
}

type GoogleSecretManagerConfig

type GoogleSecretManagerConfig struct {
	Enabled         bool   `yaml:"enabled" json:"enabled"`
	MongoSecretName string `yaml:"mongo_secret_name" json:"mongo_secret_name"`
	PoktSecretName  string `yaml:"pokt_secret_name" json:"pokt_secret_name"`
	EthSecretName   string `yaml:"eth_secret_name" json:"eth_secret_name"`
}

type Health

type Health struct {
	Id               *primitive.ObjectID `bson:"_id,omitempty" json:"_id"`
	PoktVaultAddress string              `bson:"pokt_vault_address" json:"pokt_vault_address"`
	PoktSigners      []string            `bson:"pokt_signers" json:"pokt_signers"`
	PoktPublicKey    string              `bson:"pokt_public_key" json:"pokt_public_key"`
	PoktAddress      string              `bson:"pokt_address" json:"pokt_address"`
	EthValidators    []string            `bson:"eth_validators" json:"eth_validators"`
	EthAddress       string              `bson:"eth_address" json:"eth_address"`
	WPoktAddress     string              `bson:"wpokt_address" json:"wpokt_address"`
	Hostname         string              `bson:"hostname" json:"hostname"`
	ValidatorId      string              `bson:"validator_id" json:"validator_id"`
	Healthy          bool                `bson:"healthy" json:"healthy"`
	CreatedAt        time.Time           `bson:"created_at" json:"created_at"`
	UpdatedAt        time.Time           `bson:"updated_at" json:"updated_at"`
	ServiceHealths   []ServiceHealth     `bson:"service_healths" json:"service_healths"`
}

type HealthCheckConfig

type HealthCheckConfig struct {
	IntervalMillis int64 `yaml:"interval_ms" json:"interval_ms"`
	ReadLastHealth bool  `yaml:"read_last_health" json:"read_last_health"`
}

type InvalidMint

type InvalidMint struct {
	Id              *primitive.ObjectID `bson:"_id,omitempty" json:"_id"`
	TransactionHash string              `bson:"transaction_hash" json:"transaction_hash"`
	Height          string              `bson:"height" json:"height"`
	Confirmations   string              `bson:"confirmations" json:"confirmations"`
	SenderAddress   string              `bson:"sender_address" json:"sender_address"`
	SenderChainId   string              `bson:"sender_chain_id" json:"sender_chain_id"`
	VaultAddress    string              `bson:"vault_address" json:"vault_address"`
	Amount          string              `bson:"amount" json:"amount"`
	CreatedAt       time.Time           `bson:"created_at" json:"created_at"`
	UpdatedAt       time.Time           `bson:"updated_at" json:"updated_at"`
	Status          string              `bson:"status" json:"status"`
	ReturnTx        string              `bson:"return_tx" json:"return_tx"`
	Signers         []string            `bson:"signers" json:"signers"`
	ReturnTxHash    string              `bson:"return_tx_hash" json:"return_tx_hash"`
	Memo            string              `bson:"memo" json:"memo"`
}

type LoggerConfig

type LoggerConfig struct {
	Level string `yaml:"level" json:"level"`
}

type Mint

type Mint struct {
	Id                  *primitive.ObjectID `bson:"_id,omitempty" json:"_id"`
	TransactionHash     string              `bson:"transaction_hash" json:"transaction_hash"`
	Height              string              `bson:"height" json:"height"`
	Confirmations       string              `bson:"confirmations" json:"confirmations"`
	SenderAddress       string              `bson:"sender_address" json:"sender_address"`
	SenderChainId       string              `bson:"sender_chain_id" json:"sender_chain_id"`
	RecipientAddress    string              `bson:"recipient_address" json:"recipient_address"`
	RecipientChainId    string              `bson:"recipient_chain_id" json:"recipient_chain_id"`
	WPOKTAddress        string              `bson:"wpokt_address" json:"wpokt_address"`
	VaultAddress        string              `bson:"vault_address" json:"vault_address"`
	Amount              string              `bson:"amount" json:"amount"`
	Nonce               string              `bson:"nonce" json:"nonce"`
	Memo                *MintMemo           `bson:"memo" json:"memo"`
	CreatedAt           time.Time           `bson:"created_at" json:"created_at"`
	UpdatedAt           time.Time           `bson:"updated_at" json:"updated_at"`
	Status              string              `bson:"status" json:"status"`
	Data                *MintData           `bson:"data" json:"data"`
	Signers             []string            `bson:"signers" json:"signers"`
	Signatures          []string            `bson:"signatures" json:"signatures"`
	MintTransactionHash string              `bson:"mint_tx_hash" json:"mint_transaction_hash"`
}

type MintData

type MintData struct {
	Recipient string `bson:"recipient" json:"recipient"`
	Amount    string `bson:"amount" json:"amount"`
	Nonce     string `bson:"nonce" json:"nonce"`
}

type MintMemo

type MintMemo struct {
	Address string `bson:"address" json:"address"`
	ChainId string `bson:"chain_id" json:"chain_id"`
}

type MongoConfig

type MongoConfig struct {
	URI           string `yaml:"uri" json:"uri"`
	Database      string `yaml:"database" json:"database"`
	TimeoutMillis int64  `yaml:"timeout_ms" json:"timeout_ms"`
}

type PocketConfig

type PocketConfig struct {
	StartHeight        int64    `yaml:"start_height" json:"start_height"`
	Confirmations      int64    `yaml:"confirmations" json:"confirmations"`
	RPCURL             string   `yaml:"rpc_url" json:"rpcurl"`
	PrivateKey         string   `yaml:"private_key" json:"private_key"`
	RPCTimeoutMillis   int64    `yaml:"rpc_timeout_ms" json:"rpc_time_out_ms"`
	ChainId            string   `yaml:"chain_id" json:"chain_id"`
	TxFee              int64    `yaml:"tx_fee" json:"tx_fee"`
	VaultAddress       string   `yaml:"vault_address" json:"vault_address"`
	MultisigPublicKeys []string `yaml:"multisig_public_keys" json:"multisig_public_keys"`
}

type RunnerStatus

type RunnerStatus struct {
	EthBlockNumber string `bson:"eth_block_number" json:"eth_block_number"`
	PoktHeight     string `bson:"pokt_height" json:"pokt_height"`
}

type ServiceConfig

type ServiceConfig struct {
	Enabled        bool  `yaml:"enabled" json:"enabled"`
	IntervalMillis int64 `yaml:"interval_ms" json:"interval_ms"`
}

type ServiceHealth

type ServiceHealth struct {
	Name           string    `bson:"name" json:"name"`
	Healthy        bool      `bson:"healthy" json:"healthy"`
	EthBlockNumber string    `bson:"eth_block_number" json:"eth_block_number"` // not used for all services
	PoktHeight     string    `bson:"pokt_height" json:"pokt_height"`           // not used for all services
	LastSyncTime   time.Time `bson:"last_sync_time" json:"last_sync_time"`
	NextSyncTime   time.Time `bson:"next_sync_time" json:"next_sync_time"`
}

Jump to

Keyboard shortcuts

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