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

Epic Branch: v2 release #323

Open
wants to merge 20 commits into
base: master
Choose a base branch
from
Open

Epic Branch: v2 release #323

wants to merge 20 commits into from

Conversation

hannahhoward
Copy link
Collaborator

Goals

Given the number of expected breaking changes, it's very much neccesary to setup a v2 release. This is an epic branch to merge big refactor PRs to until we get to merging to master for a v2 release.

hannahhoward and others added 2 commits May 11, 2022 13:23
given the expected breaking changes, it's time to setup the v2 release

BREAKING CHANGE: v2 modules
* feat(revalidators): initial refactor

refactor revalidation process -- removing independent revalidations, making validations results more
clear

* refactor(rename): RevalidateToComplete -> RequiresFinalization

* refactor(datatransfer): enhance validator comments

* refactor(message): revert message response changes

* refactor(impl): comment and refactor on events

add comments to event processing and also extract functions for receiving requests to a new file

* refactor(message): s/IsVoucherResult/IsValidationResult

rename the IsVoucherResult to is 'IsValidationResult' also add a method for generating messages from
validation results

* feat(events): only dispatch events on change

Only dispatch Pause, Resume, SetDataLimit, and RequiresFinalization on change

* style(imports): fix imports

* feat(events): add DataLimitExceeded event

* Update channels/channel_state.go

Co-authored-by: dirkmc <[email protected]>

* Update manager.go

Co-authored-by: dirkmc <[email protected]>

* Update manager.go

Co-authored-by: dirkmc <[email protected]>

* Update statuses.go

Co-authored-by: Rod Vagg <[email protected]>

Co-authored-by: dirkmc <[email protected]>
Co-authored-by: Rod Vagg <[email protected]>
@codecov-commenter
Copy link

codecov-commenter commented May 11, 2022

Codecov Report

Merging #323 (aad2287) into master (4a865de) will increase coverage by 0.76%.
The diff coverage is 68.54%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master     #323      +/-   ##
==========================================
+ Coverage   65.97%   66.74%   +0.76%     
==========================================
  Files          29       25       -4     
  Lines        3436     2556     -880     
==========================================
- Hits         2267     1706     -561     
+ Misses        816      674     -142     
+ Partials      353      176     -177     
Impacted Files Coverage Δ
tracing/tracing.go 93.75% <ø> (ø)
transport/graphsync/hooks.go 67.45% <ø> (ø)
transport/graphsync/receiver.go 53.39% <ø> (ø)
transport/graphsync/utils.go 96.15% <ø> (ø)
transport/helpers/network/interface.go 60.00% <ø> (ø)
transport/helpers/network/libp2p_impl.go 64.62% <ø> (ø)
message/message1_1prime/transfer_message.go 26.31% <36.36%> (+6.31%) ⬆️
message/message1_1prime/message.go 57.34% <45.83%> (+2.94%) ⬆️
impl/events.go 40.00% <48.35%> (-37.09%) ⬇️
registry/registry.go 65.21% <57.14%> (-9.79%) ⬇️
... and 24 more

hannahhoward and others added 18 commits May 11, 2022 15:33
* refactor(validators): remove revalidation

move to all revalidation being asynchronous

* feat(validators): implied pauses

causes datalimit exceeded and requires finalization to leave request paused, regardless of where
LeaveRequestPaused is set

* refactor(events): reorder events

reorder validation events so all get record when transfer finishes

* Update impl/impl.go

Co-authored-by: Rod Vagg <[email protected]>

Co-authored-by: Rod Vagg <[email protected]>
* feat(ipld): vouchers as plain ipld.Node

* feat: add ValidationResult#Equals() utility

* feat(ipld): introduce TypedVoucher tuple type

* chore(ipld): ipld.Node -> datamodel.Node

* chore: remove RegisterVoucherResultType

* fix: minor staticcheck fixes
use cborgencomptaiblenode to simply channelstate interface
* chore(deps): update libp2p v0.19.4 (#341)

* feat(ipld): use bindnode/registry

Co-authored-by: Hannah Howard <[email protected]>
* refactor(transport): move libp2p message layer into transport

* refactor(graphsync): cleanup channel state tracking

* refactor(dtchannel): extract dtchannel to package

* test(impl): get remaining tests passing

* refactor(transport): much simpler interface

* style(lint): fix imports

* refactor(transport): remote unneccesary methods

* fix(rebase): fix errors after rebase
* refactor(network): move network to subdirectory

move the network to a subdirectory, also cleanup usage of all selector, move gstestdata to the itest
directory

* feat(network): introduce wrapped protocol

introduces a new wrapped protocol that encodes the transport id so that we can support multiple
transports using the network protocol

* style(lint): fix imports

* fix(rebase): fix issues after rebase
* feat(network): transport versioning and detection

Support multiple transports on the libp2p protocol, via different protocol naming, and using libp2p
to do protocol negotiation

* Update transport/helpers/network/libp2p_impl.go

Co-authored-by: Rod Vagg <[email protected]>

* Update transport/helpers/network/libp2p_impl.go

Co-authored-by: Rod Vagg <[email protected]>

* fix(network): add versions check for legacy transport

Co-authored-by: Rod Vagg <[email protected]>
refactors the transport events interface
- moves data limit tracking into the transport
- makes index tracking opaque work inside the transport
- refactors event flow -- we now have an initiated event + queued &
  awaiting acceptance states
- leans into async communication between transport and data transfer
- adds a bunch of transport tests
- refactor pausing to support more correct resumption in state machine
Co-authored-by: Rod Vagg <[email protected]>
Co-authored-by: Rod Vagg <[email protected]>
add additional tests, remove commented out code, improve migrations
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants