Closed kylehuntsman closed 1 year ago
Base: 5.50% // Head: 5.01% // Decreases project coverage by -0.48%
:warning:
Coverage data is based on head (
8c9ba11
) compared to base (d82b7e2
). Patch coverage: 0.00% of modified lines in pull request are covered.
:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.
I can't tell what version of staticcheck GitHub actions are running, but upgrading staticcheck to 2022.1.3 on my local machine fixed the failing check.
This PR implements the Lassie RetrievalClient as a replacement for FilClient. The goal being to replace the instantiation of FilClient with Lassie's RetrievalClient. In doing so, there were a couple updates required to provide some functionality that FilClient provided that the Lassie RetrievalClient did not.
Notable Changes
MinerPeerGetter
In the
EstuaryEndpoint
and theConfig
, FilClient was being passed around to use it'sapi.MinerPeer()
function. AMinerPeerGetter
abstraction was made to pass around just theMinerPeer()
function instead of all of FilClient.LassiePayChannelManager
One of the goals of Lassie was to remove all dependencies on Lotus and FilClient. In doing so, Lassie's RetrievalClient does not implement a
PayChannelManager
which is required to make paid retrievals. TheLassiePayChannelManager
implementation was created to providePayChannelManager
functionality. The implementation of theGetPayChannelWithMinFunds()
method and thepayChannelApi
struct were taken directly from FilClient as they were originally a non exported function and struct.Removal of LogRetrievals options
This was an early addition to Autoretrieve when we were still running it via EC2 instance and watching terminal logs. This was the last thing using the FilClient client for it's LibP2PTransferManager. After discussing with @elijaharita to make sure Estuary wasn't relying on this logging, it was removed to be able to completely remove the FilClient client.
Copy of FilClient
MsgPusher
andKeystore
The last two FilClient dependencies that Autoretrieve depended on were the
MsgPusher
andKeystore
. These two structs did not rely on anything else in FilClient. To completely remove the dependency on FilClient, these two structs were copy-pasta'd from FilClient and into Autoretrieve.