diff --git a/core/corehttp/gateway_handler.go b/core/corehttp/gateway_handler.go index 0a7e657de81..19b0de41c41 100644 --- a/core/corehttp/gateway_handler.go +++ b/core/corehttp/gateway_handler.go @@ -373,7 +373,7 @@ func (i *gatewayHandler) getOrHeadHandler(ctx context.Context, w http.ResponseWr } type sizeReadSeeker interface { - Size() uint64 + Size() uint64 io.ReadSeeker } diff --git a/merkledag/merkledag.go b/merkledag/merkledag.go index 92cb5fa866f..bcf0e84a1c5 100644 --- a/merkledag/merkledag.go +++ b/merkledag/merkledag.go @@ -307,11 +307,14 @@ func GetNodes(ctx context.Context, ds DAGService, keys []*cid.Cid) []NodeGetter // Remove duplicates from a list of keys func dedupeKeys(cids []*cid.Cid) []*cid.Cid { + out := make([]*cid.Cid, 0, len(cids)) set := cid.NewSet() for _, c := range cids { - set.Add(c) + if set.Visit(c) { + out = append(out, c) + } } - return set.Keys() + return out } func newNodePromise(ctx context.Context) NodeGetter {