From 4a93ad33f920671484ca897d0041e0dfac58e062 Mon Sep 17 00:00:00 2001 From: Aayush Rajasekaran Date: Tue, 7 Apr 2020 14:33:12 -0400 Subject: [PATCH] Propose Deal: Fail early if data doesn't fit in a sector --- node/impl/client/client.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/node/impl/client/client.go b/node/impl/client/client.go index fe6abaf9e..4cf5a7969 100644 --- a/node/impl/client/client.go +++ b/node/impl/client/client.go @@ -90,12 +90,16 @@ func (a *API) ClientStartDeal(ctx context.Context, params *api.StartDealParams) return nil, xerrors.Errorf("failed checking miners sector size: %w", err) } + if uint64(params.Data.PieceSize.Padded()) > uint64(ssize) { + return nil, xerrors.New("data doesn't fit in a sector") + } + rt, _, err := ffiwrapper.ProofTypeFromSectorSize(ssize) if err != nil { return nil, xerrors.Errorf("bad sector size: %w", err) } - providerInfo := utils.NewStorageProviderInfo(params.Miner, mw, 0, pid) + providerInfo := utils.NewStorageProviderInfo(params.Miner, mw, ssize, pid) ts, err := a.ChainHead(ctx) if err != nil { return nil, xerrors.Errorf("failed getting chain height: %w", err)