From b65837c7ed6d0fe78bbf8134fbe809aea4366a04 Mon Sep 17 00:00:00 2001 From: ZenGround0 Date: Mon, 27 Sep 2021 11:05:06 -0400 Subject: [PATCH] Remove cid caching from deal proposal --- actors/builtin/market/cbor_gen.go | 5 +++-- actors/builtin/market/deal.go | 23 +++++------------------ actors/builtin/market/market_actor.go | 2 +- 3 files changed, 9 insertions(+), 21 deletions(-) diff --git a/actors/builtin/market/cbor_gen.go b/actors/builtin/market/cbor_gen.go index 293306d28f..9490324d3e 100644 --- a/actors/builtin/market/cbor_gen.go +++ b/actors/builtin/market/cbor_gen.go @@ -7,6 +7,7 @@ import ( "io" abi "github.com/filecoin-project/go-state-types/abi" + market "github.com/filecoin-project/specs-actors/actors/builtin/market" cbg "github.com/whyrusleeping/cbor-gen" xerrors "golang.org/x/xerrors" ) @@ -318,12 +319,12 @@ func (t *PublishStorageDealsParams) UnmarshalCBOR(r io.Reader) error { } if extra > 0 { - t.Deals = make([]ClientDealProposal, extra) + t.Deals = make([]market.ClientDealProposal, extra) } for i := 0; i < int(extra); i++ { - var v ClientDealProposal + var v market.ClientDealProposal if err := v.UnmarshalCBOR(br); err != nil { return err } diff --git a/actors/builtin/market/deal.go b/actors/builtin/market/deal.go index d4f3ef87ab..6a7d415190 100644 --- a/actors/builtin/market/deal.go +++ b/actors/builtin/market/deal.go @@ -1,9 +1,7 @@ package market import ( - "github.com/filecoin-project/go-state-types/crypto" market0 "github.com/filecoin-project/specs-actors/actors/builtin/market" - "github.com/ipfs/go-cid" ) //var PieceCIDPrefix = cid.Prefix{ @@ -47,19 +45,8 @@ var PieceCIDPrefix = market0.PieceCIDPrefix type DealProposal = market0.DealProposal // ClientDealProposal is a DealProposal signed by a client -type ClientDealProposal struct { - Proposal DealProposal - ClientSignature crypto.Signature - - // internal cache - cid cid.Cid -} - -func (c *ClientDealProposal) ProposalCid() (cid.Cid, error) { - var err error - if c.cid.Equals(cid.Undef) { - c.cid, err = c.Proposal.Cid() - return c.cid, err - } - return c.cid, nil -} +// type ClientDealProposal struct { +// Proposal DealProposal +// ClientSignature crypto.Signature +// } +type ClientDealProposal = market0.ClientDealProposal diff --git a/actors/builtin/market/market_actor.go b/actors/builtin/market/market_actor.go index 3905faa27c..27600a6105 100644 --- a/actors/builtin/market/market_actor.go +++ b/actors/builtin/market/market_actor.go @@ -249,7 +249,7 @@ func (a Actor) PublishStorageDeals(rt Runtime, params *PublishStorageDealsParams resolvedAddrs[deal.Proposal.Client] = client deal.Proposal.Client = client - pcid, err := deal.ProposalCid() + pcid, err := deal.Proposal.Cid() builtin.RequireNoErr(rt, err, exitcode.ErrIllegalArgument, "failed to take cid of proposal %d", di) // check proposalCids for duplication within message batch