It is generally better to just use []byte instead of *[]byte.
Would be good to cleanup those instances of structs which declare *[]byte, for example, in hdwallet.go:
// HDWallet is the internal struct for an asymmetric keypair
type HDWallet struct {
Seed *[]byte // contains the mnemonic seed phrase in bytes
PublicKey *[]byte // contains the extended public key; in general it is safest NOT to share this
}