stasatdaglabs a96a5fd2ef
[NOD-1462] Simplify consensus external API (#958)
* [NOD-1461] Change the external api interface to not having anything besides DomainTransactions and DomainBlocks.

* [NOD-1462] Move external api types to a separate package.

* [NOD-1462] Clarify which model we're using in miningmanager.

* [NOD-1462] Extract coinbase data to its own struct.

* [NOD-1462] Add a comment above CoinbaseData.

* [NOD-1462] Fix the comment above CoinbaseData.
2020-10-19 17:59:04 +03:00

35 lines
1.0 KiB
Go

package database
import (
"github.com/kaspanet/kaspad/domain/consensus/model"
"github.com/kaspanet/kaspad/domain/consensus/model/externalapi"
"github.com/kaspanet/kaspad/infrastructure/db/dbaccess"
)
// DomainDBContext is a proxy over a dbaccess.DatabaseContext
type DomainDBContext struct {
dbContext *dbaccess.DatabaseContext
}
// FetchBlockRelation retrieves the BlockRelation for the given blockHash
func (ddc *DomainDBContext) FetchBlockRelation(blockHash *externalapi.DomainHash) (*model.BlockRelations, error) {
// TODO: return dbaccess.FetchBlockRelations(ddc.dbContext, blockHash)
return nil, nil
}
// NewTx returns an instance of DomainTxContext with a new database transaction
func (ddc *DomainDBContext) NewTx() (*DomainTxContext, error) {
txContext, err := ddc.dbContext.NewTx()
if err != nil {
return nil, err
}
return NewDomainTxContext(txContext), nil
}
// NewDomainDBContext creates a new DomainDBContext
func NewDomainDBContext(dbContext *dbaccess.DatabaseContext) *DomainDBContext {
return &DomainDBContext{dbContext: dbContext}
}