Documentation
¶
Index ¶
- Variables
- type DBConfig
- type DataBase
- func (db DataBase) AddToBlockchainLockQueue(ctx context.Context, nodeID string) error
- func (db DataBase) CheckAddressExists(ctx context.Context, addr string) (bool, error)
- func (db DataBase) CheckIsOnTopOfBlockchainsLocks(ctx context.Context, nodeID string) (bool, error)
- func (db DataBase) CheckToken(ctx context.Context, tkn string) (bool, error)
- func (db DataBase) CountRegistered(ctx context.Context) (int, error)
- func (db DataBase) Disconnect(ctx context.Context) error
- func (db DataBase) FindAddress(ctx context.Context, search string, limit int) ([]string, error)
- func (db DataBase) FindTransactionInBlockHash(ctx context.Context, trxHash [32]byte) ([32]byte, error)
- func (db DataBase) InvalidateToken(ctx context.Context, token string) error
- func (db DataBase) IsAddressAdmin(ctx context.Context, addr string) (bool, error)
- func (db DataBase) IsAddressStandard(ctx context.Context, addr string) (bool, error)
- func (db DataBase) IsAddressSuspended(ctx context.Context, addr string) (bool, error)
- func (db DataBase) IsAddressTrusted(ctx context.Context, addr string) (bool, error)
- func (db DataBase) LastBlock(ctx context.Context) (block.Block, error)
- func (db DataBase) MoveTransactionsFromAwaitingToTemporary(ctx context.Context, trxHash [32]byte) error
- func (db DataBase) MoveTransactionsFromTemporaryToPermanent(ctx context.Context, blockHash [32]byte, hashes [][32]byte) error
- func (db DataBase) Ping(ctx context.Context) error
- func (db DataBase) ReadAwaitingTransactionsByIssuer(ctx context.Context, address string) ([]transaction.Transaction, error)
- func (db DataBase) ReadAwaitingTransactionsByReceiver(ctx context.Context, address string) ([]transaction.Transaction, error)
- func (db DataBase) ReadBlockByHash(ctx context.Context, hash [32]byte) (block.Block, error)
- func (db DataBase) ReadLastNValidatorStatuses(ctx context.Context, last int64) ([]validator.Status, error)
- func (db DataBase) ReadRegisteredNodesAddresses(ctx context.Context) ([]string, error)
- func (db DataBase) ReadTemporaryTransactions(ctx context.Context) ([]transaction.Transaction, error)
- func (db DataBase) RegisterNode(ctx context.Context, n, ws string) error
- func (db DataBase) RemoveFromBlockchainLocks(ctx context.Context, nodeID string) error
- func (DataBase) RunMigration(_ context.Context) error
- func (db DataBase) UnregisterNode(ctx context.Context, n string) error
- func (db DataBase) Write(p []byte) (n int, err error)
- func (db DataBase) WriteAddress(ctx context.Context, addr string) error
- func (db DataBase) WriteBlock(ctx context.Context, block block.Block) error
- func (db DataBase) WriteIssuerSignedTransactionForReceiver(ctx context.Context, trx *transaction.Transaction) error
- func (db DataBase) WriteToken(ctx context.Context, tkn string, expirationDate int64) error
- func (db DataBase) WriteValidatorStatus(ctx context.Context, vs *validator.Status) error
- type Listener
Constants ¶
This section is empty.
Variables ¶
var ( ErrInsertFailed = fmt.Errorf("insert failed") ErrRemoveFailed = fmt.Errorf("remove failed") ErrSelectFailed = fmt.Errorf("select failed") ErrMoveFailed = fmt.Errorf("move failed") ErrScanFailed = fmt.Errorf("scan failed") ErrUnmarshalFailed = fmt.Errorf("unmarshal failed") ErrCommitFailed = fmt.Errorf("transaction commit failed") ErrTrxBeginFailed = fmt.Errorf("transaction begin failed") ErrAddingToLockQueueBlockChainFailed = fmt.Errorf("adding to lock blockchain failed") ErrRemovingFromLockQueueBlockChainFailed = fmt.Errorf("removing from lock blockchain failed") ErrListenFailed = fmt.Errorf("listen failed") ErrCheckingIsOnTopOfBlockchainsLocksFailed = fmt.Errorf("checking is on top of blockchains locks failed") ErrNodeRegisterFailed = fmt.Errorf("node register failed") ErrNodeUnregisterFailed = fmt.Errorf("node unregister failed") ErrNodeLookupFailed = fmt.Errorf("node lookup failed") ErrNodeRegisteredAddressesQueryFailed = fmt.Errorf("node registered addresses query failed") )
Functions ¶
This section is empty.
Types ¶
type DBConfig ¶
type DBConfig struct { ConnStr string `yaml:"conn_str"` // ConnStr is the connection string to the database. DatabaseName string `yaml:"database_name"` // DatabaseName is the name of the database. IsSSL bool `yaml:"is_ssl"` // IsSSL is the flag that indicates if the connection should be encrypted. }
Config contains configuration for the database.
type DataBase ¶
type DataBase struct {
// contains filtered or unexported fields
}
Database provides database access for read, write and delete of repository entities.
func Connect ¶
Connect creates new connection to the repository and returns pointer to the DataBase.
func (DataBase) AddToBlockchainLockQueue ¶
AddToBlockchainLockQueue adds blockchain lock to queue.
func (DataBase) CheckAddressExists ¶
CheckAddressExists checks if address exists in the database.
func (DataBase) CheckIsOnTopOfBlockchainsLocks ¶
CheckIsOnTopOfBlockchainsLocks checks if node is on top of blockchain locks queue.
func (DataBase) CheckToken ¶
CheckToken checks if token exists in the database is valid and didn't expire.
func (DataBase) CountRegistered ¶
CountRegistered counts registered nodes in the database.
func (DataBase) Disconnect ¶
Disconnect disconnects user from database
func (DataBase) FindAddress ¶
FindAddress finds address in the database.
func (DataBase) FindTransactionInBlockHash ¶
func (db DataBase) FindTransactionInBlockHash(ctx context.Context, trxHash [32]byte) ([32]byte, error)
FindTransactionInBlockHash returns block hash in to which transaction with given hash was added. If transaction is not yet added to any block, empty hash is returned.
func (DataBase) InvalidateToken ¶
InvalidateToken invalidates token.
func (DataBase) IsAddressAdmin ¶
IsAddressAdmin checks if address has access level admin.
func (DataBase) IsAddressStandard ¶
IsAddressStandard checks if address has access level standard.
func (DataBase) IsAddressSuspended ¶
IsAddressAdmin checks if address has access level suspended.
func (DataBase) IsAddressTrusted ¶
IsAddressTrusted checks if address has access level trusted.
func (DataBase) MoveTransactionsFromAwaitingToTemporary ¶
func (db DataBase) MoveTransactionsFromAwaitingToTemporary(ctx context.Context, trxHash [32]byte) error
MoveTransactionsFromAwaitingToTemporary moves awaiting transaction marking it as temporary.
func (DataBase) MoveTransactionsFromTemporaryToPermanent ¶
func (db DataBase) MoveTransactionsFromTemporaryToPermanent(ctx context.Context, blockHash [32]byte, hashes [][32]byte) error
MoveTransactionsFromTemporaryToPermanent moves transactions by marking transactions with matching hash to be permanent and sets block hash field to referenced block hash.
func (DataBase) ReadAwaitingTransactionsByIssuer ¶
func (db DataBase) ReadAwaitingTransactionsByIssuer(ctx context.Context, address string) ([]transaction.Transaction, error)
ReadAwaitingTransactionsByIssuer reads all transactions paired with given issuer address.
func (DataBase) ReadAwaitingTransactionsByReceiver ¶
func (db DataBase) ReadAwaitingTransactionsByReceiver(ctx context.Context, address string) ([]transaction.Transaction, error)
ReadAwaitingTransactionsByReceiver reads all transactions paired with given receiver address.
func (DataBase) ReadBlockByHash ¶
ReadBlockByHash returns block with given hash.
func (DataBase) ReadLastNValidatorStatuses ¶
func (db DataBase) ReadLastNValidatorStatuses(ctx context.Context, last int64) ([]validator.Status, error)
ReadLastNValidatorStatuses reads last validator statuses from the database.
func (DataBase) ReadRegisteredNodesAddresses ¶
ReadAddresses reads registered nodes addresses from the database.
func (DataBase) ReadTemporaryTransactions ¶
func (db DataBase) ReadTemporaryTransactions(ctx context.Context) ([]transaction.Transaction, error)
ReadTemporaryTransactions reads all transactions that are marked as temporary.
func (DataBase) RegisterNode ¶
RegisterNode registers node in the database.
func (DataBase) RemoveFromBlockchainLocks ¶
RemoveFromBlockchainLocks removes blockchain lock from queue.
func (DataBase) RunMigration ¶
RunMigration satisfies the RepositoryProvider interface as PostgreSQL migrations are run on when database is created in docker-compose-postgresql.yml.
func (DataBase) UnregisterNode ¶
UnregisterNode unregister node from the database.
func (DataBase) WriteAddress ¶
WriteAddress writes address to the database.
func (DataBase) WriteBlock ¶
WriteBlock writes block to the database.
func (DataBase) WriteIssuerSignedTransactionForReceiver ¶
func (db DataBase) WriteIssuerSignedTransactionForReceiver( ctx context.Context, trx *transaction.Transaction, ) error
WriteIssuerSignedTransactionForReceiver writes transaction to the storage marking it as awaiting.
func (DataBase) WriteToken ¶
WriteToken writes unique token to the database.
type Listener ¶
type Listener struct {
// contains filtered or unexported fields
}
Listener wraps listener for notifications from database. Provides methods for listening and closing.