func OpenDB(driver string, args ...interface{}) (DB, error) {
	const op errors.Op = "wallet.OpenDB"
	db, err := walletdb.Open(driver, args...)
	if err != nil {
		return nil, errors.E(op, err)
	}
	return opaqueDB{db}, nil
}
OpenDB opens a database with some specific driver implementation.  Args
specify the arguments to open the database and may differ based on driver.
package wallet
import (
	"io"
	"decred.org/dcrwallet/v2/errors"
	"decred.org/dcrwallet/v2/wallet/walletdb"
)
type DB interface {
	io.Closer
	internal() walletdb.DB
}
type opaqueDB struct {
	walletdb.DB
}
func (db opaqueDB) internal() walletdb.DB { return db.DB }