diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2440c23..ff49c47 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -10,7 +10,7 @@ jobs: test: strategy: matrix: - go-version: [1.19.x, 1.20.x, 1.21.x] + go-version: [1.21.x, 1.22.x, 1.23.x] os: [ubuntu-latest] runs-on: ${{ matrix.os }} steps: @@ -21,6 +21,6 @@ jobs: - name: golangci-lint uses: golangci/golangci-lint-action@v3 with: - version: v1.55 + version: v1.63 - run: go vet ./... - run: go test ./... diff --git a/.golangci.yml b/.golangci.yml index 23aaf43..4eb78ca 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -9,3 +9,5 @@ linters: - gofmt - gocritic - unconvert + - revive + - govet diff --git a/bitslice.go b/bitslice.go index 190aa21..3a2c671 100644 --- a/bitslice.go +++ b/bitslice.go @@ -1,4 +1,4 @@ -package merkleTree +package merkletree import ( "encoding/binary" diff --git a/bitslice_test.go b/bitslice_test.go index 0023855..b7ea12c 100644 --- a/bitslice_test.go +++ b/bitslice_test.go @@ -1,4 +1,4 @@ -package merkleTree +package merkletree import ( "bytes" diff --git a/config.go b/config.go index e8b7ae9..6890e84 100644 --- a/config.go +++ b/config.go @@ -1,4 +1,4 @@ -package merkleTree +package merkletree import ( "encoding/binary" diff --git a/doc.go b/doc.go index 55f0e97..2bb7656 100644 --- a/doc.go +++ b/doc.go @@ -1,5 +1,5 @@ /* -Package merkleTree is a generic Merkle Tree implementation, for provably publishing lots +Package merkletree is a generic Merkle Tree implementation, for provably publishing lots of data under one succinct tree root. Install: @@ -51,4 +51,4 @@ To construct a new Tree from scratch, you need to specify three parameters: - An array of KeyValuePairs, the things actually stored in the Merkle tree. */ -package merkleTree +package merkletree diff --git a/errors.go b/errors.go index e4f0873..271e0e5 100644 --- a/errors.go +++ b/errors.go @@ -1,4 +1,4 @@ -package merkleTree +package merkletree import ( "errors" diff --git a/example_test.go b/example_test.go index 014a736..bbe48e0 100644 --- a/example_test.go +++ b/example_test.go @@ -1,9 +1,9 @@ -package merkleTree_test +package merkletree_test import ( "golang.org/x/net/context" - merkleTree "github.com/keybase/go-merkle-tree" + merkletree "github.com/keybase/go-merkle-tree" ) func ExampleTree_Build() { @@ -12,27 +12,27 @@ func ExampleTree_Build() { // of phony objects. Importantly, it fits the 'ValueConstructor' // interface, so that it can tell the MerkleTree class how // to pull type values out of the tree. - factory := merkleTree.NewTestObjFactory() + factory := merkletree.NewTestObjFactory() // Make a whole bunch of phony objects in our Object Factory. objs := factory.Mproduce(1024) // Collect and sort the objects into a "sorted map" - sm := merkleTree.NewSortedMapFromList(objs) + sm := merkletree.NewSortedMapFromList(objs) // Make a test storage engine - eng := merkleTree.NewMemEngine() + eng := merkletree.NewMemEngine() // 256 children per node; once there are 512 entries in a leaf, // then split the leaf by adding more parents. - config := merkleTree.NewConfig(merkleTree.SHA512Hasher{}, 256, 512, factory) + config := merkletree.NewConfig(merkletree.SHA512Hasher{}, 256, 512, factory) // Make a new tree object with this engine and these config // values - tree := merkleTree.NewTree(eng, config) + tree := merkletree.NewTree(eng, config) // Make an empty Tranaction info for now - var txInfo merkleTree.TxInfo + var txInfo merkletree.TxInfo // Build the tree err := tree.Build(context.TODO(), sm, txInfo) diff --git a/go.mod b/go.mod index 69eddfc..7df84d8 100644 --- a/go.mod +++ b/go.mod @@ -1,8 +1,8 @@ module github.com/keybase/go-merkle-tree -go 1.19 +go 1.21 require ( github.com/keybase/go-codec v0.0.0-20180928230036-164397562123 - golang.org/x/net v0.19.0 + golang.org/x/net v0.34.0 ) diff --git a/go.sum b/go.sum index 08bf718..c065814 100644 --- a/go.sum +++ b/go.sum @@ -1,4 +1,4 @@ github.com/keybase/go-codec v0.0.0-20180928230036-164397562123 h1:yg56lYPqh9suJepqxOMd/liFgU/x+maRPiB30JNYykM= github.com/keybase/go-codec v0.0.0-20180928230036-164397562123/go.mod h1:r/eVVWCngg6TsFV/3HuS9sWhDkAzGG8mXhiuYA+Z/20= -golang.org/x/net v0.19.0 h1:zTwKpTd2XuCqf8huc7Fo2iSy+4RHPd10s4KzeTnVr1c= -golang.org/x/net v0.19.0/go.mod h1:CfAk/cbD4CthTvqiEl8NpboMuiuOYsAr/7NOjZJtv1U= +golang.org/x/net v0.34.0 h1:Mb7Mrk043xzHgnRM88suvJFwzVrRfHEHJEl5/71CKw0= +golang.org/x/net v0.34.0/go.mod h1:di0qlW3YNM5oh6GqDGQr92MyTozJPmybPK4Ev/Gm31k= diff --git a/hash.go b/hash.go index b81d738..74b9bc4 100644 --- a/hash.go +++ b/hash.go @@ -1,4 +1,4 @@ -package merkleTree +package merkletree import ( "crypto/sha512" diff --git a/hash_test.go b/hash_test.go index 3b4aa3f..3a7da49 100644 --- a/hash_test.go +++ b/hash_test.go @@ -1,4 +1,4 @@ -package merkleTree +package merkletree import "testing" diff --git a/inode.go b/inode.go index a1c17dc..62a7757 100644 --- a/inode.go +++ b/inode.go @@ -1,4 +1,4 @@ -package merkleTree +package merkletree type childPointerMap struct { tab []Hash diff --git a/interfaces.go b/interfaces.go index 53583ae..ef1c511 100644 --- a/interfaces.go +++ b/interfaces.go @@ -1,4 +1,4 @@ -package merkleTree +package merkletree import "golang.org/x/net/context" diff --git a/mem.go b/mem.go index 870fe9d..d63eb95 100644 --- a/mem.go +++ b/mem.go @@ -1,4 +1,4 @@ -package merkleTree +package merkletree import ( "crypto/sha512" @@ -23,7 +23,7 @@ func NewMemEngine() *MemEngine { var _ StorageEngine = (*MemEngine)(nil) // CommitRoot "commits" the root ot the blessed memory slot -func (m *MemEngine) CommitRoot(_ context.Context, prev Hash, curr Hash, txinfo TxInfo) error { +func (m *MemEngine) CommitRoot(_ context.Context, _ Hash, curr Hash, _ TxInfo) error { m.root = curr return nil } diff --git a/msgpack.go b/msgpack.go index 0d9734b..bd456b7 100644 --- a/msgpack.go +++ b/msgpack.go @@ -1,7 +1,8 @@ -package merkleTree +package merkletree import ( "bytes" + "github.com/keybase/go-codec/codec" ) diff --git a/node.go b/node.go index 02fc7ff..9e57ad4 100644 --- a/node.go +++ b/node.go @@ -1,4 +1,4 @@ -package merkleTree +package merkletree import ( "encoding/hex" diff --git a/obj_factory_test.go b/obj_factory_test.go index 570f737..099ae17 100644 --- a/obj_factory_test.go +++ b/obj_factory_test.go @@ -1,4 +1,4 @@ -package merkleTree +package merkletree import ( "crypto/rand" diff --git a/sorted_map.go b/sorted_map.go index e0c6e6c..5637676 100644 --- a/sorted_map.go +++ b/sorted_map.go @@ -1,4 +1,4 @@ -package merkleTree +package merkletree import ( "sort" diff --git a/tree.go b/tree.go index f312e0e..210b828 100644 --- a/tree.go +++ b/tree.go @@ -1,4 +1,4 @@ -package merkleTree +package merkletree import ( "sync" diff --git a/tree_test.go b/tree_test.go index 9cb8431..a32b298 100644 --- a/tree_test.go +++ b/tree_test.go @@ -1,4 +1,4 @@ -package merkleTree +package merkletree import ( "testing" diff --git a/types.go b/types.go index 894d8d8..a513fde 100644 --- a/types.go +++ b/types.go @@ -1,4 +1,4 @@ -package merkleTree +package merkletree // Hash is a byte-array, used to represent a full collision-resistant hash. type Hash []byte