Skip to content

Add bip32::parse_derivation_path#185

Closed
stevenroose wants to merge 3 commits intorust-bitcoin:masterfrom
stevenroose:parse-bip32
Closed

Add bip32::parse_derivation_path#185
stevenroose wants to merge 3 commits intorust-bitcoin:masterfrom
stevenroose:parse-bip32

Conversation

@stevenroose
Copy link
Copy Markdown
Collaborator

@stevenroose stevenroose commented Nov 1, 2018

Utility method to parse a m/0'/0'/0-like path.

Harden characters ' and h are supported.

@clarkmoody
Copy link
Copy Markdown
Member

Concept ACK.

Fuzz testing is failing in the CI build. I'm not sure what to do about that.

@stevenroose
Copy link
Copy Markdown
Collaborator Author

Hmm, it fails to build a fuzzing dep. I have no idea about the fuzzing setup in rust-bitcoin, bth.

@stevenroose
Copy link
Copy Markdown
Collaborator Author

stevenroose commented Nov 15, 2018 via email

@instagibbs
Copy link
Copy Markdown
Contributor

instagibbs commented Nov 15, 2018 via email

@stevenroose stevenroose force-pushed the parse-bip32 branch 2 times, most recently from 06e3c83 to 5b14f57 Compare December 4, 2018 14:30
This public method parses a formatted derivation path into a
`Vec<ChildNumber>`.
@stevenroose
Copy link
Copy Markdown
Collaborator Author

Fuzz found something. Should I keep those: https://travis-ci.org/rust-bitcoin/rust-bitcoin/jobs/463440802

@sgeisler
Copy link
Copy Markdown
Contributor

sgeisler commented Dec 6, 2018

Fuzz found something. Should I keep those: https://travis-ci.org/rust-bitcoin/rust-bitcoin/jobs/463440802

I think that's just a bug in a serde implementation we use because of 1.14 :/ it happens from time to time (iirc it's because of a stack overflow that can be triggered, this seems consistent with the large output that was produced and the deep stack trace). I'd just run the test again, but maybe @apoelstra can confirm or correct this (I know I read this somewhere, but I don't remember where).

@apoelstra
Copy link
Copy Markdown
Member

I don't think it's serde, I think it's just Yet Another Decimal Overflow Bug. This one probably should be fixed because it's actually a stack overflow rather than panic, but in general the type is not designed properly and needs to be completely rewritten.

In any case, it's unrelated to this PR.

@stevenroose
Copy link
Copy Markdown
Collaborator Author

Ready to be merged!

Copy link
Copy Markdown
Member

@dongcarl dongcarl left a comment

Choose a reason for hiding this comment

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

LGTM, in the future we should make this more generic by parsing to an Iterator over Result<ChildNumber, Error>.

@stevenroose
Copy link
Copy Markdown
Collaborator Author

stevenroose commented Jan 20, 2019 via email

@stevenroose
Copy link
Copy Markdown
Collaborator Author

Would there be more interest in a DerivationPath type that has a Display and FromStr implementation instead of this standalone method?

@dongcarl
Copy link
Copy Markdown
Member

Would there be more interest in a DerivationPath type that has a Display and FromStr implementation instead of this standalone method?

Yes, let's do that! I remember needing it for PSBT at some point.

@dongcarl
Copy link
Copy Markdown
Member

dongcarl commented Feb 4, 2019

@stevenroose Any progress on this?

@stevenroose
Copy link
Copy Markdown
Collaborator Author

stevenroose commented Feb 4, 2019 via email

@stevenroose
Copy link
Copy Markdown
Collaborator Author

@dongcarl Because your suggestion made the code change entirely, I created an alternative PR: #233

This one can be ignored if the other one is preferred.

@dongcarl
Copy link
Copy Markdown
Member

Superseded by #233, which is now merged.

@dongcarl dongcarl closed this Feb 18, 2019
casey pushed a commit to casey/rust-bitcoin that referenced this pull request Nov 28, 2023
…ions

8806879 Migrate CI to github actions (Tibo-lg)

Pull request description:

  Closes rust-bitcoin#185

  I'm not a github action expert so there might be more concise ways of expressing things, but at least it works.

ACKs for top commit:
  notmandatory:
    ACK 8806879

Tree-SHA512: 0c347867a66d1a19fad182ebb3961819a34190573dfec4c1425c1f295bc1a32a7f0adb8da31a9e0b004144b8f17efea36c0d81244e09b743af36df6705039f3a
yancyribbens pushed a commit to yancyribbens/rust-bitcoin that referenced this pull request Mar 23, 2024
Test Display/Debug for SortedMultiVec
PastaPastaPasta pushed a commit to PastaPastaPasta/rust-dashcore that referenced this pull request Feb 2, 2026
…itcoin#185)

PR rust-bitcoin#180 used `MultiPeerNetworkManager`, this was renamed in rust-bitcoin#183 which was merged before rust-bitcoin#180 but after its CI run.
PastaPastaPasta pushed a commit to PastaPastaPasta/rust-dashcore that referenced this pull request Feb 2, 2026
…-bitcoin#197)

* feat(spv): flush headers on shutdown

* move fn lower in the impl

* refactor: `MultiPeerNetworkManager` -> `PeerNetworkManager` (rust-bitcoin#184)

* refactor: `MultiPeerNetworkManager` -> `PeerNetworkManager`

* Fix formatting and apply review

* feat: Update ffi headers (rust-bitcoin#183)

* feat(spv): broadcast transaction (rust-bitcoin#180)

* fix: Fix `PeerNetworkManager` cast in `broadcast_transaction` (rust-bitcoin#185)

PR rust-bitcoin#180 used `MultiPeerNetworkManager`, this was renamed in rust-bitcoin#183 which was merged before rust-bitcoin#180 but after its CI run.

* fix: Use non-blocking `TcpStream` in `dash-spv::network::TcpConnection` (rust-bitcoin#188)

* refactor: Improve SPV shutdown handling with `CancellationToken` (rust-bitcoin#187)

* refactor: `TcpConnection` -> `Peer` and `ConnectionPool` -> `PeerPool` (rust-bitcoin#190)

* fix: Locking issue after rust-bitcoin#190 (rust-bitcoin#191)

rust-bitcoin#190 removed the read timeouts of the `Peer::receive_message` which currently leads to a lockup of the peer because the write lock is held while waiting for the message. Needs some more refactoring but this works for now.

* fix: More follow-up to rust-bitcoin#190 (rust-bitcoin#193)

The sleep timeout branch introduced in rust-bitcoin#191 returns an `Err(NetworkError::Timeout)` which leads to a misbehavior update below in the `msg_result` match and eventually in a peer ban. This shouldn't happen because the `sleep` timing out only means that there is no data available right now. Instead, it now returns `Ok(None)` which will just keep things going.

* flush after mn list sync too

* move flush to after header sync instead of mnlist

* fix

---------

Co-authored-by: Kevin Rombach <35775977+xdustinface@users.noreply.github.com>
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.

6 participants