From c60959ea9f8899fc5be5a855b35653b51ee97bc4 Mon Sep 17 00:00:00 2001 From: Anton Evangelatov Date: Wed, 21 Jul 2021 11:43:19 +0200 Subject: [PATCH] fetch peer id from chain --- node/impl/client/client.go | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/node/impl/client/client.go b/node/impl/client/client.go index a92ab0b9f..f4401324b 100644 --- a/node/impl/client/client.go +++ b/node/impl/client/client.go @@ -420,7 +420,19 @@ func (a *API) ClientFindData(ctx context.Context, root cid.Cid, piece *cid.Cid) if piece != nil && !piece.Equals(*p.PieceCID) { continue } - out = append(out, a.makeRetrievalQuery(ctx, p, root, piece, rm.QueryParams{})) + + // do not rely on local data with respect to peer id + // fetch an up-to-date miner peer id from chain + mi, err := a.StateMinerInfo(ctx, p.Address, types.EmptyTSK) + if err != nil { + return nil, err + } + pp := rm.RetrievalPeer{ + Address: p.Address, + ID: *mi.PeerId, + } + + out = append(out, a.makeRetrievalQuery(ctx, pp, root, piece, rm.QueryParams{})) } return out, nil