Skip to content

Organize feature separation for ergonomics#501

Merged
DanGould merged 6 commits intopayjoin:masterfrom
DanGould:v1-v2
Jan 20, 2025
Merged

Organize feature separation for ergonomics#501
DanGould merged 6 commits intopayjoin:masterfrom
DanGould:v1-v2

Conversation

@DanGould
Copy link
Contributor

@DanGould DanGould commented Jan 20, 2025

In making these changes I also considered an organizational structure that looks more like this:

payjoin::receive::{InputPair, Error...} payjoin::v1::receive, payjoin::v2::receive

But I think that's more trouble than it's worth, and also breaks the hierarchy that's most effective for producing and maintaining this software, so I'm inclined to leave it as is, leaving send, receive modules abstraction with version-specific submodule implementations.

This makes it easier for us to effectuate #500

@coveralls
Copy link
Collaborator

coveralls commented Jan 20, 2025

Pull Request Test Coverage Report for Build 12874561764

Details

  • 0 of 0 changed or added relevant lines in 0 files are covered.
  • 19 unchanged lines in 1 file lost coverage.
  • Overall coverage decreased (-0.2%) to 72.12%

Files with Coverage Reduction New Missed Lines %
payjoin-cli/src/app/v1.rs 19 0.0%
Totals Coverage Status
Change from base Build 12873175314: -0.2%
Covered Lines: 3531
Relevant Lines: 4896

💛 - Coveralls

@DanGould DanGould requested a review from spacebear21 January 20, 2025 18:55
These features were separated when v1 was first-class, but is not
relevant with v2 being first-class, since the server hosting constraint
was removed by the design of v2. All downstream implementations I am
aware of are interested in implementing both send and receive features.

Close payjoin#393
This way you can enable just the one you're interested in without
the additional noise of details you will not use

See payjoin#392
This marks Payjoin v2 (BIP 77) is a first-class citizen of the crate.
# https://github.com/taiki-e/cargo-llvm-cov?tab=readme-ov-file#merge-coverages-generated-under-different-test-conditions
cargo llvm-cov clean --workspace # remove artifacts that may affect the coverage results
cargo llvm-cov --no-report # v1 configuration
cargo llvm-cov --no-report --features=v1
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Might as well add _danger-local-https here now since it's required for some v1 tests (e.g. e2e tests), and partially address #499

contrib/lint.sh Outdated
set -e

cargo clippy --all-targets --keep-going -- -D warnings # v1 configuration
cargo clippy --all-targets --keep-going --features=v1 -- -D warnings
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same here.

Without this configuration some checks would be ignored.

Close payjoin#499
Copy link
Collaborator

@spacebear21 spacebear21 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ACK 9b9ee81

@DanGould DanGould merged commit 7d8116e into payjoin:master Jan 20, 2025
6 checks passed
@DanGould DanGould deleted the v1-v2 branch January 20, 2025 19:32
@spacebear21 spacebear21 mentioned this pull request Apr 1, 2025
17 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

3 participants