Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update go-fil-markets for data transfer IPLD based Vouchers #693

Open
hannahhoward opened this issue Mar 9, 2022 · 0 comments
Open

Update go-fil-markets for data transfer IPLD based Vouchers #693

hannahhoward opened this issue Mar 9, 2022 · 0 comments
Assignees

Comments

@hannahhoward
Copy link
Collaborator

What

Update the various voucher / voucher result types used in go-data-transfer to work with the proposed updates to the voucher system in filecoin-project/go-data-transfer#305

The current voucher / voucher result types that need to be converted to bindnode are as follows:

Most of our code using these vouchers can be found in:

Landmines

  • v0 retrieval types -- we have some additional older versions of the retrieval types which have been forever and have long since stopped being used in any running version of Lotus or filclient. What a great opportunity to delete them!
  • retrieval DealProposal type -- probably the biggest landmine is that the DealProposal type has a selector, that is current encoded as a cbg.Deferred. This should definitely become an Any in schema and a datamodel.Node in the node. However, an additional issues is that DealProposal is currently encoded in the client and provider on disk states, which are CBOR-gen types. I'm not exactly sure how to solve this. Two ideas I had are --
    1. Make a seperate copy for the vouchers
    2. Implement the expected cbor-gen methods -- there are only two -- https://github.com/whyrusleeping/cbor-gen/blob/master/utils.go#L130 & https://github.com/whyrusleeping/cbor-gen/blob/master/utils.go#L134 -- using ipld-primes dagcbor methods -- if you do this I think maybe it will serialize / deserialize properly?
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: In Progress
Development

No branches or pull requests

2 participants