Fantom-foundation/go-lachesis

View on GitHub
kvdb/nokeyiserr/wrapper.go

Summary

Maintainability
A
0 mins
Test Coverage
package nokeyiserr

import (
    "errors"

    "github.com/ethereum/go-ethereum/ethdb"
)

var (
    errNotFound = errors.New("not found")
)

type Wrapper struct {
    ethdb.KeyValueStore
}

// Wrap creates new Wrapper
func Wrap(db ethdb.KeyValueStore) *Wrapper {
    return &Wrapper{db}
}

// Get implements ETH-style Get. ETH databases expect an error if key not found, unlike Lachesis
func (w *Wrapper) Get(key []byte) ([]byte, error) {
    val, err := w.KeyValueStore.Get(key)
    if val == nil && err == nil {
        return nil, errNotFound
    }
    return val, err
}