diff --git a/batch.go b/batch.go index c0d3678..f53b576 100644 --- a/batch.go +++ b/batch.go @@ -24,7 +24,6 @@ import ( "github.com/hashicorp/golang-lru" "github.com/ipfs/go-block-format" "github.com/ipfs/go-blockservice" - "github.com/ipfs/go-cid/_rsrch/cidiface" ) var ( @@ -107,7 +106,7 @@ func (b *Batch) Write() error { } for _, key := range b.deleteCache.Keys() { // we are using state codec because we don't know the codec and at this level the codec doesn't matter, the datastore key is multihash-only derived - c, err := Keccak256ToCid(common.Hex2Bytes(key.(string)), cid.EthStateTrie) + c, err := Keccak256ToCid(common.Hex2Bytes(key.(string)), stateTrieCodec) if err != nil { return err } diff --git a/batch_test.go b/batch_test.go index 410ba5d..4891776 100644 --- a/batch_test.go +++ b/batch_test.go @@ -111,4 +111,4 @@ var _ = Describe("Batch", func() { Expect(size).To(Equal(0)) }) }) -}) \ No newline at end of file +}) diff --git a/database.go b/database.go index 24fe930..5dcc36a 100644 --- a/database.go +++ b/database.go @@ -20,7 +20,6 @@ import ( "context" "errors" "fmt" - "github.com/ipfs/go-cid/_rsrch/cidiface" "strconv" "strings" @@ -29,8 +28,9 @@ import ( ) var ( - defaultBatchCapacity = 1024 - errNotSupported = errors.New("this operation is not supported") + stateTrieCodec uint64 = 0x96 + defaultBatchCapacity = 1024 + errNotSupported = errors.New("this operation is not supported") ) // Database is the type that satisfies the ethdb.Database and ethdb.KeyValueStore interfaces for IPFS Ethereum data @@ -59,7 +59,7 @@ func NewDatabase(bs blockservice.BlockService) ethdb.Database { // This only operates on the local blockstore not through the exchange func (d *Database) Has(key []byte) (bool, error) { // we are using state codec because we don't know the codec and at this level the codec doesn't matter, the datastore key is multihash-only derived - c, err := Keccak256ToCid(key, cid.EthStateTrie) + c, err := Keccak256ToCid(key, stateTrieCodec) if err != nil { return false, err } @@ -70,7 +70,7 @@ func (d *Database) Has(key []byte) (bool, error) { // Get retrieves the given key if it's present in the key-value data store func (d *Database) Get(key []byte) ([]byte, error) { // we are using state codec because we don't know the codec and at this level the codec doesn't matter, the datastore key is multihash-only derived - c, err := Keccak256ToCid(key, cid.EthStateTrie) + c, err := Keccak256ToCid(key, stateTrieCodec) if err != nil { return nil, err } @@ -96,7 +96,7 @@ func (d *Database) Put(key []byte, value []byte) error { // Delete removes the key from the key-value data store func (d *Database) Delete(key []byte) error { // we are using state codec because we don't know the codec and at this level the codec doesn't matter, the datastore key is multihash-only derived - c, err := Keccak256ToCid(key, cid.EthStateTrie) + c, err := Keccak256ToCid(key, stateTrieCodec) if err != nil { return err } diff --git a/database_test.go b/database_test.go index 1e87c77..add1e42 100644 --- a/database_test.go +++ b/database_test.go @@ -103,4 +103,4 @@ var _ = Describe("Database", func() { Expect(err.Error()).To(ContainSubstring("block not found")) }) }) -}) \ No newline at end of file +}) diff --git a/iterator.go b/iterator.go index 5c247a9..0fba100 100644 --- a/iterator.go +++ b/iterator.go @@ -18,7 +18,6 @@ package ipfsethdb import ( "context" - "github.com/ipfs/go-cid/_rsrch/cidiface" "github.com/ethereum/go-ethereum/ethdb" "github.com/ipfs/go-blockservice" @@ -74,7 +73,7 @@ func (i *Iterator) Key() []byte { // and its contents may change on the next call to Next func (i *Iterator) Value() []byte { // we are using state codec because we don't know the codec and at this level the codec doesn't matter, the datastore key is multihash-only derived - c, err := Keccak256ToCid(i.currentKey, cid.EthStateTrie) + c, err := Keccak256ToCid(i.currentKey, stateTrieCodec) if err != nil { i.err = err return nil diff --git a/suite_test.go b/suite_test.go index 775bc60..2a02c68 100644 --- a/suite_test.go +++ b/suite_test.go @@ -26,4 +26,4 @@ import ( func TestIPFSETHDB(t *testing.T) { RegisterFailHandler(Fail) RunSpecs(t, "IPFS ethdb test") -} \ No newline at end of file +} diff --git a/util.go b/util.go index f94c015..177a9fa 100644 --- a/util.go +++ b/util.go @@ -29,7 +29,7 @@ func Keccak256ToCid(h []byte, codec uint64) (cid.Cid, error) { if err != nil { return cid.Cid{}, err } - return cid.NewCidV1(codec ,multihash.Multihash(buf)), nil + return cid.NewCidV1(codec, multihash.Multihash(buf)), nil } // NewBlock takes a keccak256 hash key and the rlp []byte value it was derived from and creates an ipfs block object