lnwallet: add additional BlockChainIO methods

This commit is contained in:
Andrey Samokhvalov
2016-12-07 18:49:58 +03:00
committed by Olaoluwa Osuntokun
parent b440005219
commit 1119d75996
2 changed files with 34 additions and 2 deletions

View File

@@ -53,3 +53,28 @@ func (b *BtcWallet) GetTransaction(txid *wire.ShaHash) (*wire.MsgTx, error) {
return tx.MsgTx(), nil
}
// GetBlock returns a raw block from the server given its hash.
//
// This method is a part of the lnwallet.BlockChainIO interface.
func (b *BtcWallet) GetBlock(blockHash *wire.ShaHash) (*wire.MsgBlock, error) {
block, err := b.rpc.GetBlock(blockHash)
if err != nil {
return nil, err
}
return block, nil
}
// GetBlockHash returns the hash of the block in the best block chain at the
// given height.
//
// This method is a part of the lnwallet.BlockChainIO interface.
func (b *BtcWallet) GetBlockHash(blockHeight int64) (*wire.ShaHash, error) {
blockHash, err := b.rpc.GetBlockHash(blockHeight)
if err != nil {
return nil, err
}
return blockHash, nil
}

View File

@@ -212,6 +212,13 @@ type BlockChainIO interface {
// GetTransaction returns the full transaction identified by the passed
// transaction ID.
GetTransaction(txid *wire.ShaHash) (*wire.MsgTx, error)
// GetBlockHash returns the hash of the block in the best block chain at the
// given height.
GetBlockHash(blockHeight int64) (*wire.ShaHash, error)
// GetBlock returns a block by the given hash.
GetBlock(blockHash *wire.ShaHash) (*wire.MsgBlock, error)
}
// SignDescriptor houses the necessary information required to successfully sign