Skip to content

Commit 22e0ea4

Browse files
committed
feat(ipld): use new bindnode registry in go-ipld-prime
Ref: ipld/go-ipld-prime#437
1 parent fcb7b35 commit 22e0ea4

File tree

18 files changed

+63
-189
lines changed

18 files changed

+63
-189
lines changed

bindnodeutils/bindnodeutils.go

-119
This file was deleted.

go.mod

+2-2
Original file line numberDiff line numberDiff line change
@@ -45,15 +45,15 @@ require (
4545
github.com/ipfs/go-unixfs v0.3.1
4646
github.com/ipld/go-car v0.3.3
4747
github.com/ipld/go-car/v2 v2.1.1
48-
github.com/ipld/go-ipld-prime v0.16.1-0.20220524010812-a2c7491b1229
48+
github.com/ipld/go-ipld-prime v0.16.1-0.20220610101408-9bfac86e6256
4949
github.com/jbenet/go-random v0.0.0-20190219211222-123a90aedc0c
5050
github.com/jpillora/backoff v1.0.0
5151
github.com/libp2p/go-libp2p v0.20.0
5252
github.com/libp2p/go-libp2p-core v0.16.1
5353
github.com/libp2p/go-libp2p-mplex v0.6.0 // indirect
5454
github.com/multiformats/go-multiaddr v0.5.0
5555
github.com/multiformats/go-multibase v0.0.3
56-
github.com/multiformats/go-multicodec v0.4.1
56+
github.com/multiformats/go-multicodec v0.5.0
5757
github.com/multiformats/go-multihash v0.1.0
5858
github.com/multiformats/go-varint v0.0.6
5959
github.com/petar/GoLLRB v0.0.0-20210522233825-ae3b015fd3e9

go.sum

+4-3
Original file line numberDiff line numberDiff line change
@@ -725,8 +725,8 @@ github.com/ipld/go-ipld-prime v0.14.3-0.20211207234443-319145880958/go.mod h1:Qc
725725
github.com/ipld/go-ipld-prime v0.14.4/go.mod h1:QcE4Y9n/ZZr8Ijg5bGPT0GqYWgZ1704nH0RDcQtgTP0=
726726
github.com/ipld/go-ipld-prime v0.16.0/go.mod h1:axSCuOCBPqrH+gvXr2w9uAOulJqBPhHPT2PjoiiU1qA=
727727
github.com/ipld/go-ipld-prime v0.16.1-0.20220519105356-1f1151b69dba/go.mod h1:/bZAYlzT7SJS4UV0al4q67xgKvenm5hKrPCa2wNGN1U=
728-
github.com/ipld/go-ipld-prime v0.16.1-0.20220524010812-a2c7491b1229 h1:A83oV+ZFzTNYLS1/XAyfOPTmtzEM0sMSK18GA0dEorU=
729-
github.com/ipld/go-ipld-prime v0.16.1-0.20220524010812-a2c7491b1229/go.mod h1:IInaTjkNLKAZoliYXvjlB3CFQa7IPReVwxOb0oke/RA=
728+
github.com/ipld/go-ipld-prime v0.16.1-0.20220610101408-9bfac86e6256 h1:LynWK6MPm4frKNcOoRs0XQciKSWBVcouJMmp0I9ukKg=
729+
github.com/ipld/go-ipld-prime v0.16.1-0.20220610101408-9bfac86e6256/go.mod h1:aYcKm5TIvGfY8P3QBKz/2gKcLxzJ1zDaD+o0bOowhgs=
730730
github.com/ipld/go-ipld-prime-proto v0.0.0-20191113031812-e32bd156a1e5/go.mod h1:gcvzoEDBjwycpXt3LBE061wT9f46szXGHAmj9uoP6fU=
731731
github.com/ipld/go-ipld-prime/storage/bsadapter v0.0.0-20211210234204-ce2a1c70cd73 h1:TsyATB2ZRRQGTwafJdgEUQkmjOExRV0DNokcihZxbnQ=
732732
github.com/ipld/go-ipld-prime/storage/bsadapter v0.0.0-20211210234204-ce2a1c70cd73/go.mod h1:2PJ0JgxyB08t0b2WKrcuqI3di0V+5n6RS/LTUJhkoxY=
@@ -1302,8 +1302,9 @@ github.com/multiformats/go-multicodec v0.3.0/go.mod h1:qGGaQmioCDh+TeFOnxrbU0DaI
13021302
github.com/multiformats/go-multicodec v0.3.1-0.20210902112759-1539a079fd61/go.mod h1:1Hj/eHRaVWSXiSNNfcEPcwZleTmdNP81xlxDLnWU9GQ=
13031303
github.com/multiformats/go-multicodec v0.3.1-0.20211210143421-a526f306ed2c/go.mod h1:1Hj/eHRaVWSXiSNNfcEPcwZleTmdNP81xlxDLnWU9GQ=
13041304
github.com/multiformats/go-multicodec v0.4.0/go.mod h1:1Hj/eHRaVWSXiSNNfcEPcwZleTmdNP81xlxDLnWU9GQ=
1305-
github.com/multiformats/go-multicodec v0.4.1 h1:BSJbf+zpghcZMZrwTYBGwy0CPcVZGWiC72Cp8bBd4R4=
13061305
github.com/multiformats/go-multicodec v0.4.1/go.mod h1:1Hj/eHRaVWSXiSNNfcEPcwZleTmdNP81xlxDLnWU9GQ=
1306+
github.com/multiformats/go-multicodec v0.5.0 h1:EgU6cBe/D7WRwQb1KmnBvU7lrcFGMggZVTPtOW9dDHs=
1307+
github.com/multiformats/go-multicodec v0.5.0/go.mod h1:DiY2HFaEp5EhEXb/iYzVAunmyX/aSFMxq2KMKfWEues=
13071308
github.com/multiformats/go-multihash v0.0.1/go.mod h1:w/5tugSrLEbWqlcgJabL3oHFKTwfvkofsjW2Qa1ct4U=
13081309
github.com/multiformats/go-multihash v0.0.5/go.mod h1:lt/HCbqlQwlPBz7lv0sQCdtfcMtlJvakRUn/0Ual8po=
13091310
github.com/multiformats/go-multihash v0.0.8/go.mod h1:YSLudS+Pi8NHE7o6tb3D8vrpKa63epEDmG8nTduyAew=

retrievalmarket/impl/client.go

+2-3
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ import (
2323
"github.com/filecoin-project/go-state-types/big"
2424
"github.com/filecoin-project/go-statemachine/fsm"
2525

26-
"github.com/filecoin-project/go-fil-markets/bindnodeutils"
2726
"github.com/filecoin-project/go-fil-markets/discovery"
2827
"github.com/filecoin-project/go-fil-markets/retrievalmarket"
2928
"github.com/filecoin-project/go-fil-markets/retrievalmarket/impl/clientstates"
@@ -405,12 +404,12 @@ func (c *clientDealEnvironment) OpenDataTransfer(ctx context.Context, to peer.ID
405404
if proposal.SelectorSpecified() {
406405
sel = proposal.Selector.Node
407406
}
408-
vouch := bindnodeutils.TypeToNode(proposal)
407+
vouch := retrievalmarket.BindnodeRegistry.TypeToNode(proposal)
409408
return c.c.dataTransfer.OpenPullDataChannel(ctx, to, datatransfer.TypedVoucher{Voucher: vouch, Type: retrievalmarket.DealProposalType}, proposal.PayloadCID, sel)
410409
}
411410

412411
func (c *clientDealEnvironment) SendDataTransferVoucher(ctx context.Context, channelID datatransfer.ChannelID, payment *retrievalmarket.DealPayment) error {
413-
vouch := bindnodeutils.TypeToNode(payment)
412+
vouch := retrievalmarket.BindnodeRegistry.TypeToNode(payment)
414413
return c.c.dataTransfer.SendVoucher(ctx, channelID, datatransfer.TypedVoucher{Voucher: vouch, Type: retrievalmarket.DealPaymentType})
415414
}
416415

retrievalmarket/impl/dtutils/dtutils_test.go

+4-5
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ import (
1616
datatransfer "github.com/filecoin-project/go-data-transfer/v2"
1717
"github.com/filecoin-project/go-statemachine/fsm"
1818

19-
"github.com/filecoin-project/go-fil-markets/bindnodeutils"
2019
"github.com/filecoin-project/go-fil-markets/retrievalmarket"
2120
rm "github.com/filecoin-project/go-fil-markets/retrievalmarket"
2221
"github.com/filecoin-project/go-fil-markets/retrievalmarket/impl/dtutils"
@@ -25,7 +24,7 @@ import (
2524

2625
func TestProviderDataTransferSubscriber(t *testing.T) {
2726
dealProposal := shared_testutil.MakeTestDealProposal()
28-
node := bindnodeutils.TypeToNode(dealProposal)
27+
node := rm.BindnodeRegistry.TypeToNode(dealProposal)
2928
dealProposalVoucher := datatransfer.TypedVoucher{Voucher: node, Type: rm.DealProposalType}
3029
testPeers := shared_testutil.GeneratePeers(2)
3130
transferID := datatransfer.TransferID(rand.Uint64())
@@ -112,10 +111,10 @@ func TestProviderDataTransferSubscriber(t *testing.T) {
112111
}
113112
func TestClientDataTransferSubscriber(t *testing.T) {
114113
dealProposal := shared_testutil.MakeTestDealProposal()
115-
node := bindnodeutils.TypeToNode(dealProposal)
114+
node := rm.BindnodeRegistry.TypeToNode(dealProposal)
116115
dealProposalVoucher := datatransfer.TypedVoucher{Voucher: node, Type: retrievalmarket.DealProposalType}
117116
dealResponseVoucher := func(dealResponse retrievalmarket.DealResponse) datatransfer.TypedVoucher {
118-
node := bindnodeutils.TypeToNode(&dealResponse)
117+
node := rm.BindnodeRegistry.TypeToNode(&dealResponse)
119118
return datatransfer.TypedVoucher{Voucher: node, Type: retrievalmarket.DealResponseType}
120119
}
121120
paymentOwed := shared_testutil.MakeTestTokenAmount()
@@ -322,7 +321,7 @@ func TestTransportConfigurer(t *testing.T) {
322321
thisPeer := expectedChannelID.Initiator
323322
expectedPeer := expectedChannelID.Responder
324323
dealProposalVoucher := func(proposal rm.DealProposal) datatransfer.TypedVoucher {
325-
node := bindnodeutils.TypeToNode(&proposal)
324+
node := rm.BindnodeRegistry.TypeToNode(&proposal)
326325
return datatransfer.TypedVoucher{Voucher: node, Type: rm.DealProposalType}
327326
}
328327

retrievalmarket/impl/ipld_compat_test.go

+6-7
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ import (
2222
"github.com/filecoin-project/go-state-types/crypto"
2323
"github.com/filecoin-project/specs-actors/actors/builtin/paych"
2424

25-
"github.com/filecoin-project/go-fil-markets/bindnodeutils"
2625
"github.com/filecoin-project/go-fil-markets/retrievalmarket"
2726
)
2827

@@ -62,7 +61,7 @@ func TestIpldCompat_DealResponse(t *testing.T) {
6261
nb := basicnode.Prototype.Any.NewBuilder()
6362
assert.Nil(t, dagcbor.Decode(nb, &originalBuf))
6463
node := nb.Build()
65-
drBindnodeIface, err := bindnodeutils.TypeFromNode(node, &retrievalmarket.DealResponse{})
64+
drBindnodeIface, err := retrievalmarket.BindnodeRegistry.TypeFromNode(node, &retrievalmarket.DealResponse{})
6665
assert.Nil(t, err)
6766
drBindnode, ok := drBindnodeIface.(*retrievalmarket.DealResponse)
6867
assert.True(t, ok)
@@ -71,7 +70,7 @@ func TestIpldCompat_DealResponse(t *testing.T) {
7170
compareDealResponse(t, testCase.dr, *drBindnode)
7271

7372
// encode the new DealResponse with bindnode to bytes
74-
node = bindnodeutils.TypeToNode(drBindnode)
73+
node = retrievalmarket.BindnodeRegistry.TypeToNode(drBindnode)
7574
var bindnodeBuf bytes.Buffer
7675
dagcbor.Encode(node.(schema.TypedNode).Representation(), &bindnodeBuf)
7776
bindnodeBytes := bindnodeBuf.Bytes()
@@ -153,7 +152,7 @@ func TestIpldCompat_DealProposal(t *testing.T) {
153152
nb := basicnode.Prototype.Any.NewBuilder()
154153
assert.Nil(t, dagcbor.Decode(nb, &originalBuf))
155154
node := nb.Build()
156-
dpBindnodeIface, err := bindnodeutils.TypeFromNode(node, &retrievalmarket.DealProposal{})
155+
dpBindnodeIface, err := retrievalmarket.BindnodeRegistry.TypeFromNode(node, &retrievalmarket.DealProposal{})
157156
assert.Nil(t, err)
158157
dpBindnode, ok := dpBindnodeIface.(*retrievalmarket.DealProposal)
159158
assert.True(t, ok)
@@ -162,7 +161,7 @@ func TestIpldCompat_DealProposal(t *testing.T) {
162161
compareDealProposal(t, testCase.dp, *dpBindnode)
163162

164163
// encode the new DealProposal with bindnode to bytes
165-
node = bindnodeutils.TypeToNode(dpBindnode)
164+
node = retrievalmarket.BindnodeRegistry.TypeToNode(dpBindnode)
166165
var bindnodeBuf bytes.Buffer
167166
dagcbor.Encode(node.(schema.TypedNode).Representation(), &bindnodeBuf)
168167
bindnodeBytes := bindnodeBuf.Bytes()
@@ -273,7 +272,7 @@ func TestIpldCompat_DealPayment(t *testing.T) {
273272
nb := basicnode.Prototype.Any.NewBuilder()
274273
assert.Nil(t, dagcbor.Decode(nb, &originalBuf))
275274
node := nb.Build()
276-
dpBindnodeIface, err := bindnodeutils.TypeFromNode(node, &retrievalmarket.DealPayment{})
275+
dpBindnodeIface, err := retrievalmarket.BindnodeRegistry.TypeFromNode(node, &retrievalmarket.DealPayment{})
277276
assert.Nil(t, err)
278277
dpBindnode, ok := dpBindnodeIface.(*retrievalmarket.DealPayment)
279278
assert.True(t, ok)
@@ -282,7 +281,7 @@ func TestIpldCompat_DealPayment(t *testing.T) {
282281
compareDealPayment(t, testCase.dp, *dpBindnode)
283282

284283
// encode the new DealPayment with bindnode to bytes
285-
node = bindnodeutils.TypeToNode(dpBindnode)
284+
node = retrievalmarket.BindnodeRegistry.TypeToNode(dpBindnode)
286285
var bindnodeBuf bytes.Buffer
287286
dagcbor.Encode(node.(schema.TypedNode).Representation(), &bindnodeBuf)
288287
bindnodeBytes := bindnodeBuf.Bytes()

retrievalmarket/impl/providerstates/provider_states.go

+2-3
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ import (
1313
"github.com/filecoin-project/go-statemachine"
1414
"github.com/filecoin-project/go-statemachine/fsm"
1515

16-
"github.com/filecoin-project/go-fil-markets/bindnodeutils"
1716
rm "github.com/filecoin-project/go-fil-markets/retrievalmarket"
1817
)
1918

@@ -138,7 +137,7 @@ func updateFunding(ctx fsm.Context,
138137
DataLimit: deal.Params.NextInterval(totalPaid),
139138
}
140139
if voucherResult != nil {
141-
node := bindnodeutils.TypeToNode(voucherResult)
140+
node := rm.BindnodeRegistry.TypeToNode(voucherResult)
142141
vr.VoucherResult = &datatransfer.TypedVoucher{Voucher: node, Type: rm.DealResponseType}
143142
}
144143
return vr
@@ -183,7 +182,7 @@ func errorDealResponse(dealID rm.ProviderDealIdentifier, errMsg error) datatrans
183182
Message: errMsg.Error(),
184183
Status: rm.DealStatusErrored,
185184
}
186-
node := bindnodeutils.TypeToNode(&dr)
185+
node := rm.BindnodeRegistry.TypeToNode(&dr)
187186
return datatransfer.ValidationResult{
188187
Accepted: false,
189188
VoucherResult: &datatransfer.TypedVoucher{Voucher: node, Type: rm.DealResponseType},

retrievalmarket/impl/providerstates/provider_states_test.go

+3-4
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ import (
1919
fsmtest "github.com/filecoin-project/go-statemachine/fsm/testutil"
2020
"github.com/filecoin-project/specs-actors/actors/builtin/paych"
2121

22-
"github.com/filecoin-project/go-fil-markets/bindnodeutils"
2322
"github.com/filecoin-project/go-fil-markets/piecestore"
2423
"github.com/filecoin-project/go-fil-markets/retrievalmarket"
2524
rm "github.com/filecoin-project/go-fil-markets/retrievalmarket"
@@ -151,13 +150,13 @@ func TestUnpauseDeal(t *testing.T) {
151150
func TestUpdateFunding(t *testing.T) {
152151
ctx := context.Background()
153152
emptyDealPayment := rm.DealPayment{}
154-
emptyDealPaymentNode := bindnodeutils.TypeToNode(&emptyDealPayment)
153+
emptyDealPaymentNode := rm.BindnodeRegistry.TypeToNode(&emptyDealPayment)
155154
emptyDealPaymentVoucher := datatransfer.TypedVoucher{Voucher: emptyDealPaymentNode, Type: rm.DealPaymentType}
156155
emptyDealProposal := rm.DealProposal{}
157-
emptyDealProposalNode := bindnodeutils.TypeToNode(&emptyDealProposal)
156+
emptyDealProposalNode := rm.BindnodeRegistry.TypeToNode(&emptyDealProposal)
158157
emptyDealProposalVoucher := datatransfer.TypedVoucher{Voucher: emptyDealProposalNode, Type: rm.DealProposalType}
159158
dealResponseVoucher := func(resp rm.DealResponse) *datatransfer.TypedVoucher {
160-
node := bindnodeutils.TypeToNode(&resp)
159+
node := rm.BindnodeRegistry.TypeToNode(&resp)
161160
return &datatransfer.TypedVoucher{Voucher: node, Type: rm.DealResponseType}
162161
}
163162
eventMachine, err := fsm.NewEventProcessor(rm.ProviderDealState{}, "Status", providerstates.ProviderEvents)

retrievalmarket/impl/requestvalidation/requestvalidation.go

+3-4
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ import (
1515
"github.com/filecoin-project/go-state-types/abi"
1616
"github.com/filecoin-project/go-state-types/big"
1717

18-
"github.com/filecoin-project/go-fil-markets/bindnodeutils"
1918
"github.com/filecoin-project/go-fil-markets/piecestore"
2019
rm "github.com/filecoin-project/go-fil-markets/retrievalmarket"
2120
)
@@ -70,7 +69,7 @@ func rejectProposal(proposal *rm.DealProposal, status rm.DealStatus, reason stri
7069
Status: status,
7170
Message: reason,
7271
}
73-
node := bindnodeutils.TypeToNode(&dr)
72+
node := rm.BindnodeRegistry.TypeToNode(&dr)
7473
return datatransfer.ValidationResult{
7574
Accepted: false,
7675
VoucherResult: &datatransfer.TypedVoucher{Voucher: node, Type: rm.DealResponseType},
@@ -153,7 +152,7 @@ func (rv *ProviderRequestValidator) validatePull(receiver peer.ID, proposal *rm.
153152
Status: status,
154153
PaymentOwed: deal.Params.OutstandingBalance(big.Zero(), 0, false),
155154
}
156-
node := bindnodeutils.TypeToNode(&dr)
155+
node := rm.BindnodeRegistry.TypeToNode(&dr)
157156
result := datatransfer.ValidationResult{
158157
Accepted: true,
159158
VoucherResult: &datatransfer.TypedVoucher{Voucher: node, Type: rm.DealResponseType},
@@ -207,7 +206,7 @@ func errorDealResponse(dealID rm.ProviderDealIdentifier, err error) (datatransfe
207206
Message: err.Error(),
208207
Status: rm.DealStatusErrored,
209208
}
210-
node := bindnodeutils.TypeToNode(&dr)
209+
node := rm.BindnodeRegistry.TypeToNode(&dr)
211210
return datatransfer.ValidationResult{
212211
Accepted: false,
213212
VoucherResult: &datatransfer.TypedVoucher{Voucher: node, Type: rm.DealResponseType},

0 commit comments

Comments
 (0)