diff --git a/model/replication.go b/model/replication.go index d9def7d8..565ede5d 100644 --- a/model/replication.go +++ b/model/replication.go @@ -205,7 +205,6 @@ type ProofSetHandoffState string const ( ProofSetAssembling ProofSetHandoffState = "assembling" - ProofSetProposed ProofSetHandoffState = "proposed" ProofSetTransferred ProofSetHandoffState = "transferred" ) diff --git a/replication/makedeal.go b/replication/makedeal.go index a77c9684..2ce097c8 100644 --- a/replication/makedeal.go +++ b/replication/makedeal.go @@ -648,7 +648,7 @@ func queueDealEvent(deal model.Deal) { Client: deal.ClientID, Verified: deal.Verified, StartEpoch: deal.StartEpoch, - EndEpoch: deal.EndEpoch - deal.StartEpoch, + EndEpoch: deal.EndEpoch, } analytics.Default.QueueDealEvent(dealEvent) } diff --git a/service/dealpusher/pdp_pull.go b/service/dealpusher/pdp_pull.go index 9db96f14..105ef9fe 100644 --- a/service/dealpusher/pdp_pull.go +++ b/service/dealpusher/pdp_pull.go @@ -21,6 +21,7 @@ import ( "github.com/filecoin-project/go-address" commcid "github.com/filecoin-project/go-fil-commcid" "github.com/ipfs/go-cid" + "github.com/multiformats/go-varint" "gorm.io/gorm" ) @@ -437,11 +438,18 @@ func delegatedToCommonAddress(s string) (common.Address, error) { if addr.Protocol() != address.Delegated { return common.Address{}, fmt.Errorf("address %s is not delegated (f410)", s) } - payload := addr.Payload() - if len(payload) < 21 { - return common.Address{}, fmt.Errorf("delegated payload too short: %d", len(payload)) + namespace, n, err := varint.FromUvarint(addr.Payload()) + if err != nil { + return common.Address{}, fmt.Errorf("failed to decode delegated namespace: %w", err) + } + if namespace != 10 { + return common.Address{}, fmt.Errorf("unsupported delegated namespace %d", namespace) + } + subaddr := addr.Payload()[n:] + if len(subaddr) != common.AddressLength { + return common.Address{}, fmt.Errorf("invalid delegated address length: %d", len(subaddr)) } - return common.BytesToAddress(payload[1:21]), nil + return common.BytesToAddress(subaddr), nil } func commonToDelegatedAddress(subaddr common.Address) (address.Address, error) { diff --git a/storagesystem/rclone.go b/storagesystem/rclone.go index d0af7ef5..2bac5c59 100644 --- a/storagesystem/rclone.go +++ b/storagesystem/rclone.go @@ -230,6 +230,9 @@ func (h RCloneHandler) Read(ctx context.Context, path string, offset int64, leng } option := &fs.SeekOption{Offset: offset} reader, err := object.Open(ctx, option) + if err != nil { + return nil, nil, errors.Wrapf(err, "failed to open object %s", path) + } readerWithRetry := &readerWithRetry{ ctx: ctx, object: object,