Fetching the root block during the initial pin request will let us filter out requests for irretrievable CIDs early before they languish in the queue.
We could do this from the lambda directly using dagula or a gateway or we could do it in the pickup worker which has access to a local ipfs node.
- If we have any valid origins, try to connect and fetch the root block directly
- else ask a gateway node for it (or ask
someguy or other "findprovs as a service")
- if we can fetch it and it's dag-pb decode it.
- if cumulativeSize > 32GiB then reject
- if we can't fetch it from origins and gateway can't fetch it, reject it? (should really try holepunching (as a service) as well)
Fetching the root block during the initial pin request will let us filter out requests for irretrievable CIDs early before they languish in the queue.
We could do this from the lambda directly using dagula or a gateway or we could do it in the pickup worker which has access to a local ipfs node.
someguyor other "findprovs as a service")