Documentation ¶
Index ¶
- Variables
- type Acquireable
- type ArkeoContract
- type ArkeoProvider
- type Block
- type BlockGap
- type DBConfig
- type DirectoryDB
- func (d *DirectoryDB) CloseContract(ctx context.Context, contractID uint64, height int64) (*Entity, error)
- func (d *DirectoryDB) FindLatestBlock(ctx context.Context) (*Block, error)
- func (d *DirectoryDB) FindProvider(ctx context.Context, pubkey, service string) (*ArkeoProvider, error)
- func (d *DirectoryDB) GetArkeoNetworkStats(ctx context.Context) (*types.ArkeoStats, error)
- func (d *DirectoryDB) GetContract(ctx context.Context, contractId uint64) (*ArkeoContract, error)
- func (d *DirectoryDB) InsertBlock(ctx context.Context, b *Block) (*Entity, error)
- func (d *DirectoryDB) InsertBondProviderEvent(ctx context.Context, providerID int64, evt atypes.EventBondProvider, ...) (*Entity, error)
- func (d *DirectoryDB) InsertModProviderEvent(ctx context.Context, providerID int64, evt types.ModProviderEvent) (*Entity, error)
- func (d *DirectoryDB) InsertProvider(ctx context.Context, provider *ArkeoProvider) (*Entity, error)
- func (d *DirectoryDB) SearchProviders(ctx context.Context, criteria types.ProviderSearchParams) ([]*ArkeoProvider, error)
- func (d *DirectoryDB) UpdateProvider(ctx context.Context, provider *ArkeoProvider) (*Entity, error)
- func (d *DirectoryDB) UpsertContract(ctx context.Context, providerID int64, evt atypes.EventOpenContract) (*Entity, error)
- func (d *DirectoryDB) UpsertContractSettlementEvent(ctx context.Context, evt atypes.EventSettleContract) (*Entity, error)
- func (d *DirectoryDB) UpsertOpenContractEvent(ctx context.Context, contractID int64, evt atypes.EventOpenContract) (*Entity, error)
- func (d *DirectoryDB) UpsertProviderMetadata(ctx context.Context, providerID, nonce int64, data sentinel.Metadata) (*Entity, error)
- func (d *DirectoryDB) UpsertValidatorPayoutEvent(ctx context.Context, evt atypes.EventValidatorPayout, height int64) (*Entity, error)
- type Entity
- type IConnection
- type IDataStorage
- type MockDataStorage
- func (s *MockDataStorage) CloseContract(ctx context.Context, contractID uint64, height int64) (*Entity, error)
- func (s *MockDataStorage) FindLatestBlock(ctx context.Context) (*Block, error)
- func (s *MockDataStorage) FindProvider(ctx context.Context, pubkey, service string) (*ArkeoProvider, error)
- func (s *MockDataStorage) GetContract(ctx context.Context, contractId uint64) (*ArkeoContract, error)
- func (s *MockDataStorage) InsertBlock(ctx context.Context, b *Block) (*Entity, error)
- func (s *MockDataStorage) InsertBondProviderEvent(ctx context.Context, providerID int64, evt atypes.EventBondProvider, ...) (*Entity, error)
- func (s *MockDataStorage) InsertProvider(ctx context.Context, provider *ArkeoProvider) (*Entity, error)
- func (s *MockDataStorage) UpdateProvider(ctx context.Context, provider *ArkeoProvider) (*Entity, error)
- func (s *MockDataStorage) UpsertContract(ctx context.Context, providerID int64, evt atypes.EventOpenContract) (*Entity, error)
- func (s *MockDataStorage) UpsertContractSettlementEvent(ctx context.Context, evt atypes.EventSettleContract) (*Entity, error)
- func (s *MockDataStorage) UpsertProviderMetadata(ctx context.Context, providerID, nonce int64, data sentinel.Metadata) (*Entity, error)
- func (s *MockDataStorage) UpsertValidatorPayoutEvent(ctx context.Context, evt atypes.EventValidatorPayout, height int64) (*Entity, error)
Constants ¶
This section is empty.
Variables ¶
View Source
var ErrNotFound = pgx.ErrNoRows
ErrNotFound indicate the record doesn't exist in DB
Functions ¶
This section is empty.
Types ¶
type Acquireable ¶
type ArkeoContract ¶
type ArkeoContract struct { Entity ContractID int64 `json:"contract_id" db:"id"` Provider string `json:"provider" db:"provider"` Service string `json:"service" db:"service"` DelegatePubkey string `json:"delegate_pubkey" db:"delegate_pubkey"` ClientPubkey string `json:"client_pubkey" db:"client_pubkey"` Height int64 `json:"height" db:"height"` ContractType string `json:"contract_type" db:"contract_type"` Duration int64 `json:"duration" db:"duration"` RateAsset string `json:"-" db:"rate_asset"` RateAmount int64 `json:"-" db:"rate_amount"` Rate cosmos.Coin `json:"rate" db:"-"` OpenCost int64 `json:"open_cost" db:"open_cost"` ClosedHeight int64 `json:"closed_height" db:"closed_height"` ProviderID int64 `json:"-" db:"provider_id"` Deposit int64 `json:"deposit" db:"deposit"` Authorization string `json:"authorization" db:"auth"` QueriesPerMinute int64 `json:"queries_per_minute" db:"queries_per_minute"` Nonce int64 `json:"nonce" db:"nonce"` Paid int64 `json:"paid" db:"paid"` SettlementDurtion int64 `json:"settlement_duration" db:"settlement_duration"` ReserveContribAsset int64 `json:"reserve_contrib_asset" db:"reserve_contrib_asset"` ReserveContribUSD int64 `json:"reserve_contrib_usd" db:"reserve_contrib_usd"` }
TODO: missing provider pubkey and service, need to expand ProviderID TODO: add paid TODO: add settlement duration TODO: add nonce TODO: reserve contributions, both in asset and USD terms
type ArkeoProvider ¶
type ArkeoProvider struct { Entity `json:"-"` Pubkey string `json:"pubkey" db:"pubkey"` Service string `json:"service" db:"service"` // this is a DECIMAL type in the db Bond string `json:"bond" db:"bond"` MetadataURI string `json:"metadata_uri" db:"metadata_uri"` MetadataNonce uint64 `json:"metadata_nonce" db:"metadata_nonce"` Status string `json:"status" db:"status,text"` MinContractDuration int64 `json:"min_contract_duration" db:"min_contract_duration"` MaxContractDuration int64 `json:"max_contract_duration" db:"max_contract_duration"` SettlementDuration int64 `json:"settlement_duration" db:"settlement_duration"` SubscriptionRate cosmos.Coins `json:"subscription_rates" db:"-"` PayAsYouGoRate cosmos.Coins `json:"paygo_rates" db:"-"` }
type DBConfig ¶
type DBConfig struct { Host string `mapstructure:"host" json:"host"` Port uint `mapstructure:"port" json:"port"` User string `mapstructure:"user" json:"user"` Pass string `mapstructure:"pass" json:"pass"` DBName string `mapstructure:"name" json:"name"` PoolMaxConns int `mapstructure:"pool_max_conns" json:"pool_max_conns"` PoolMinConns int `mapstructure:"pool_min_conns" json:"pool_min_conns"` SSLMode string `mapstructure:"ssl_mode" json:"ssl_mode"` ConnectionTimeoutSecond int `mapstructure:"connection_timeout" json:"connection_timeout"` }
type DirectoryDB ¶
type DirectoryDB struct {
// contains filtered or unexported fields
}
func New ¶
func New(config DBConfig) (*DirectoryDB, error)
func (*DirectoryDB) CloseContract ¶
func (*DirectoryDB) FindLatestBlock ¶
func (d *DirectoryDB) FindLatestBlock(ctx context.Context) (*Block, error)
func (*DirectoryDB) FindProvider ¶
func (d *DirectoryDB) FindProvider(ctx context.Context, pubkey, service string) (*ArkeoProvider, error)
func (*DirectoryDB) GetArkeoNetworkStats ¶
func (d *DirectoryDB) GetArkeoNetworkStats(ctx context.Context) (*types.ArkeoStats, error)
func (*DirectoryDB) GetContract ¶
func (d *DirectoryDB) GetContract(ctx context.Context, contractId uint64) (*ArkeoContract, error)
GetContract query db to find contract that match the given contract id
func (*DirectoryDB) InsertBlock ¶
func (*DirectoryDB) InsertBondProviderEvent ¶
func (d *DirectoryDB) InsertBondProviderEvent(ctx context.Context, providerID int64, evt atypes.EventBondProvider, height int64, txID string) (*Entity, error)
func (*DirectoryDB) InsertModProviderEvent ¶
func (d *DirectoryDB) InsertModProviderEvent(ctx context.Context, providerID int64, evt types.ModProviderEvent) (*Entity, error)
func (*DirectoryDB) InsertProvider ¶
func (d *DirectoryDB) InsertProvider(ctx context.Context, provider *ArkeoProvider) (*Entity, error)
func (*DirectoryDB) SearchProviders ¶
func (d *DirectoryDB) SearchProviders(ctx context.Context, criteria types.ProviderSearchParams) ([]*ArkeoProvider, error)
func (*DirectoryDB) UpdateProvider ¶
func (d *DirectoryDB) UpdateProvider(ctx context.Context, provider *ArkeoProvider) (*Entity, error)
func (*DirectoryDB) UpsertContract ¶
func (d *DirectoryDB) UpsertContract(ctx context.Context, providerID int64, evt atypes.EventOpenContract) (*Entity, error)
UpsertContract update database with the given open contract event, if the contract doesn't exist , it will create a new one
func (*DirectoryDB) UpsertContractSettlementEvent ¶
func (d *DirectoryDB) UpsertContractSettlementEvent(ctx context.Context, evt atypes.EventSettleContract) (*Entity, error)
func (*DirectoryDB) UpsertOpenContractEvent ¶
func (d *DirectoryDB) UpsertOpenContractEvent(ctx context.Context, contractID int64, evt atypes.EventOpenContract) (*Entity, error)
func (*DirectoryDB) UpsertProviderMetadata ¶
func (*DirectoryDB) UpsertValidatorPayoutEvent ¶
func (d *DirectoryDB) UpsertValidatorPayoutEvent(ctx context.Context, evt atypes.EventValidatorPayout, height int64) (*Entity, error)
type Entity ¶
type Entity struct { ID int64 `db:"id"` Created time.Time `db:"created"` Updated time.Time `db:"updated"` }
Entity base entity for db types
type IConnection ¶
type IDataStorage ¶
type IDataStorage interface { FindLatestBlock(ctx context.Context) (*Block, error) InsertBlock(ctx context.Context, b *Block) (*Entity, error) UpsertValidatorPayoutEvent(ctx context.Context, evt atypes.EventValidatorPayout, height int64) (*Entity, error) FindProvider(ctx context.Context, pubkey, service string) (*ArkeoProvider, error) UpsertContract(ctx context.Context, providerID int64, evt atypes.EventOpenContract) (*Entity, error) GetContract(ctx context.Context, contractId uint64) (*ArkeoContract, error) CloseContract(ctx context.Context, contractID uint64, height int64) (*Entity, error) UpdateProvider(ctx context.Context, provider *ArkeoProvider) (*Entity, error) UpsertContractSettlementEvent(ctx context.Context, evt atypes.EventSettleContract) (*Entity, error) UpsertProviderMetadata(ctx context.Context, providerID, nonce int64, data sentinel.Metadata) (*Entity, error) InsertBondProviderEvent(ctx context.Context, providerID int64, evt atypes.EventBondProvider, height int64, txID string) (*Entity, error) InsertProvider(ctx context.Context, provider *ArkeoProvider) (*Entity, error) }
type MockDataStorage ¶
func (*MockDataStorage) CloseContract ¶
func (*MockDataStorage) FindLatestBlock ¶
func (s *MockDataStorage) FindLatestBlock(ctx context.Context) (*Block, error)
func (*MockDataStorage) FindProvider ¶
func (s *MockDataStorage) FindProvider(ctx context.Context, pubkey, service string) (*ArkeoProvider, error)
func (*MockDataStorage) GetContract ¶
func (s *MockDataStorage) GetContract(ctx context.Context, contractId uint64) (*ArkeoContract, error)
func (*MockDataStorage) InsertBlock ¶
func (*MockDataStorage) InsertBondProviderEvent ¶
func (s *MockDataStorage) InsertBondProviderEvent(ctx context.Context, providerID int64, evt atypes.EventBondProvider, height int64, txID string) (*Entity, error)
func (*MockDataStorage) InsertProvider ¶
func (s *MockDataStorage) InsertProvider(ctx context.Context, provider *ArkeoProvider) (*Entity, error)
func (*MockDataStorage) UpdateProvider ¶
func (s *MockDataStorage) UpdateProvider(ctx context.Context, provider *ArkeoProvider) (*Entity, error)
func (*MockDataStorage) UpsertContract ¶
func (s *MockDataStorage) UpsertContract(ctx context.Context, providerID int64, evt atypes.EventOpenContract) (*Entity, error)
func (*MockDataStorage) UpsertContractSettlementEvent ¶
func (s *MockDataStorage) UpsertContractSettlementEvent(ctx context.Context, evt atypes.EventSettleContract) (*Entity, error)
func (*MockDataStorage) UpsertProviderMetadata ¶
func (*MockDataStorage) UpsertValidatorPayoutEvent ¶
func (s *MockDataStorage) UpsertValidatorPayoutEvent(ctx context.Context, evt atypes.EventValidatorPayout, height int64) (*Entity, error)
Click to show internal directories.
Click to hide internal directories.