* mainly sdk.int to cosmossdk.io/math
* staking keys
* fumpt
* var-naming linter errors and a fumpt
* Update CHANGELOG.md
* Update .golangci.yml
* Update CHANGELOG.md
* Update test_helpers.go
* Update test_helpers.go
* fumpt and lint
* this lints the db module, and makes it easier to use. It adds breaking name changes
* DBConnection -> Connection
* previous commit contained a merge error
* Update test_helpers.go
* Update test_helpers.go
* db renamings
* merge master
* changelog
* DBWriter -> Writer
* consistent multistore reciever
* standard recievers for multistore v2alpha1
* general cleanup of linting issues
* more linter fixes
* remove prealloc linter
* nolint the secp256k1 import
* nolint the secp256k1 package
* completenolint resulting in a diff that has only nolints
UnsafeStrToBytes is currently not safe for -d=checkptr=2, since when it
cast from smaller struct (string) to bigger struct ([]byte). That causes
checkptr complains as the casting straddle multiple heap objects.
To fix this, we have to get the string header first, then use its fields
to construct the slice.
New implementation performs the same speed with the old (wrong) one.
name old time/op new time/op delta
UnsafeStrToBytes-8 25.7ns ± 1% 25.7ns ± 3% ~ (p=0.931 n=10+17)
name old alloc/op new alloc/op delta
UnsafeStrToBytes-8 7.00B ± 0% 7.00B ± 0% ~ (all equal)
name old allocs/op new allocs/op delta
UnsafeStrToBytes-8 0.00 0.00 ~ (all equal)
While at it, also simplify UnsafeBytesToStr implementation, since when
we can pass the slice directly to unsafe.Pointer, instead of getting the
slice header first.