profile
viewpoint

apoelstra/mimblewimble-paper 29

LaTeX of the MimbleWimble paper

apoelstra/coinjoin 20

Simplifies merging of bitcoin transactions for improved anonymity, using the popular CoinJoin scheme.

apoelstra/miniscript-workshop 14

Miniscript workshop code for Advancing Bitcoin 2020 (and perhaps later conferences)

apoelstra/icebox 9

Cold wallet designed around the Ledger Nano S

apoelstra/halfsleep 7

A mutation tester for rust

apoelstra/cj-client 2

Gtk client for a centralized coinjoin server

apoelstra/diyhpluswiki 2

a wiki for do-it-yourself biohacking, open source hardware and transhuman tech

apoelstra/elements 2

Feature experiments to advance the art of Bitcoin

apoelstra/ots-viewer 2

Website to view opentimestamps in a user-friendly way

apoelstra/asic-faq 1

Bitcoin document on ASICs and Decentralization

PullRequestReviewEvent

pull request commentrust-bitcoin/rust-bitcoin

BIP155: AddrV2

ah needs rebase.

jrawsthorne

comment created time in 13 hours

PullRequestReviewEvent
PullRequestReviewEvent

push eventrust-bitcoin/rust-bitcoin

Jake Rawsthorne

commit sha c7987d8fcde3715d9463b453fa33fe9ba5fcb45e

Add wtxidrelay message and WTx inv type, document PROTOCOL_VERSION

view details

Andrew Poelstra

commit sha c16053a265f70e6cdb829ff7013649ea273dcf67

Merge pull request #446 from jrawsthorne/bip339 BIP339: Add wtxidrelay message and WTx inv type

view details

push time in 13 hours

PR merged rust-bitcoin/rust-bitcoin

BIP339: Add wtxidrelay message and WTx inv type API break

BIP339 support was just merged into core: https://github.com/bitcoin/bitcoin/pull/18044

Not sure about changing the protocol version because I don't think every protocol is supported in rust-bitcoin yet Not sure about the name for the new inv type, we already have WitnessTransaction

+26 -2

4 comments

3 changed files

jrawsthorne

pr closed time in 13 hours

PullRequestReviewEvent

PR closed rust-bitcoin/rust-bitcoin

Add verify_with_flags to let caller select script interpreter flags

Enable checking of input scripts against standard flags at the transaction level.

See https://github.com/rust-bitcoin/rust-bitcoinconsensus/pull/15

+29 -0

3 comments

2 changed files

ariard

pr closed time in 13 hours

pull request commentrust-bitcoin/rust-bitcoin

Add verify_with_flags to let caller select script interpreter flags

Subsumed by #330

ariard

comment created time in 13 hours

pull request commentrust-bitcoin/rust-bitcoin

Replace feature serde with use-serde

needs rebase

elichai

comment created time in 13 hours

PullRequestReviewEvent

push eventrust-bitcoin/rust-bitcoin

Karl-Johan Alm

commit sha a3d9899cb10796dfea4eac9a07e887abcacc0c37

add signet support

view details

Andrew Poelstra

commit sha 93df7cbd3e02961835d250cf606e65b6826b78fe

Merge pull request #291 from kallewoof/2019-07-signet add signet support

view details

push time in 14 hours

PR merged rust-bitcoin/rust-bitcoin

add signet support API break

This PR adds the "signet" network type to the list of networks.

See also:

  • https://github.com/rust-bitcoin/constants/pull/8
+69 -7

35 comments

6 changed files

kallewoof

pr closed time in 14 hours

created tagrust-bitcoin/rust-bitcoin

tag0.25.2

Rust Bitcoin library

created time in 14 hours

push eventrust-bitcoin/rust-bitcoin

Steven Roose

commit sha 5c04a059d5c6365934013cd05841fa8542550564

Change some static assertions to debug_assert

view details

Steven Roose

commit sha cc095a4ba7cc25c4df7d7e0842ad7402491bfd58

Remove assert in Uint256::from_i64 and return None instead

view details

Steven Roose

commit sha ab9514983bfcc4a0e6a035010f785057f9072a13

Add explanation to witness program version assertion

view details

Steven Roose

commit sha 545965d9e392b5d02a51527c46f925d6f32fabd0

Change consensus::encode::serialize assert to debug_assert This is just a sanity check on our own serialization code.

view details

Steven Roose

commit sha 90e1125eff8ff090f3282b501d69172da36002a2

Remove debug_assert in PublicKey::write_into

view details

Steven Roose

commit sha e07ee5165adb368e3a21a7ddb7b6d9a79d5cd32e

Bump version to v0.25.2

view details

Andrew Poelstra

commit sha 46fdee5d88714be9367c5457ee0ad448f3803d96

Merge pull request #506 from stevenroose/avoid-assert Avoid a few assertions that shouldn't be necessary

view details

push time in 14 hours

PR merged rust-bitcoin/rust-bitcoin

Avoid a few assertions that shouldn't be necessary bug

I went over all existing assertions, the ones I left are mostly wrong user input on methods that expect slices of a fixed size (like in decoding for endianness or so), I think those still make sense.

I just hit the PublicKey::write_into debug assertion running a long test involving programs sending messages over TCP connections (and not building with --release). So when one peer closes a TCP connection at the exact moment the other side is writing a public key, the assertion would cause the sender to panic.

+17 -10

7 comments

7 changed files

stevenroose

pr closed time in 14 hours

PullRequestReviewEvent

create barnchapoelstra/elements

branch : merged-master

created branch time in 16 hours

PullRequestReviewEvent
PullRequestReviewEvent

pull request commentrust-bitcoin/rust-bitcoin

Avoid a few assertions that shouldn't be necessary

Can you add a commit which bumps the minor crate version and adds a changelog entry? I think this is the only thing we're targeting for 0.25.2.

stevenroose

comment created time in 19 hours

created tagrust-bitcoin/bitcoin_hashes

tag0.9.4

Simple library which implements a few hashes and does nothing else

created time in 2 days

pull request commentrust-bitcoin/rust-bitcoin

Avoid a few assertions that shouldn't be necessary

@stevenroose Yeah, I'd prefer that. This way we can get a "fix" in 0.26 even before we properly fix it.

stevenroose

comment created time in 4 days

PullRequestReviewEvent

push eventrust-bitcoin/bitcoin_hashes

Vlad Frolov

commit sha 95733ddff6b4e448b27aea03e201ea24c26b88dd

fix: Added homepage and repository links to Cargo.toml

view details

Andrew Poelstra

commit sha 81ac17d709b15a1172709f70fa4579f8f3309e5a

Merge pull request #104 from frol/patch-1 fix: Added homepage and repository links to Cargo.toml

view details

push time in 4 days

PullRequestReviewEvent

pull request commentrust-bitcoin/rust-secp256k1

Add bip340 schnorr

Agreed, let's match upstream module names ... we can use "bip340" for the support in rust-bitcoin.

Tibo-lg

comment created time in 4 days

push eventrust-bitcoin/bitcoin_hashes

Steven Roose

commit sha 36fbc42a0d2a9521f85fbe97246ffcfd844c46f0

Add Hmac::from_inner_engines constructor I'm using this to implement a no-std pbkdf2 implementeation for the bip39 crate.

view details

Andrew Poelstra

commit sha 77c4680b748e92746e0ef96afce32b48f3823807

Merge pull request #103 from stevenroose/hman-from-inner Add Hmac::from_inner_engines constructor

view details

push time in 5 days

PR merged rust-bitcoin/bitcoin_hashes

Add Hmac::from_inner_engines constructor

I'm using this to implement a no-std pbkdf2 implementeation for the bip39 crate.

Should we have an "only use this if you know what you're doing" warning of is that implied?

+9 -0

0 comment

1 changed file

stevenroose

pr closed time in 5 days

PullRequestReviewEvent

pull request commentElementsProject/secp256k1-zkp

Merge upstream schnorrsig PR

Fixed the quad vs oddness thing. Should be good to go now.

apoelstra

comment created time in 5 days

created tagrust-bitcoin/rust-bitcoin

tag0.25.1

Rust Bitcoin library

created time in 7 days

delete branch apoelstra/rust-bitcoin

delete branch : 2020-10--0.25.1

delete time in 7 days

push eventrust-bitcoin/rust-bitcoin

Andrew Poelstra

commit sha 17e733d85b016254a9af3db052ca462826f842a8

bump version to 0.25.1

view details

Andrew Poelstra

commit sha a46797e70e03c40d7cd07ab53278d9fc4c437763

Update CHANGELOG.md Co-authored-by: Dr. Maxim Orlovsky <orlovsky@pandoracore.com>

view details

Andrew Poelstra

commit sha 47f5c2d79787ba8bbc157c342298019855f369b1

add 413 (but not 500) to changelog

view details

Andrew Poelstra

commit sha cdb579c101eec310bf07bb0f949371146cd7f828

Merge pull request #491 from apoelstra/2020-10--0.25.1 bump version to 0.25.1

view details

push time in 7 days

delete branch rust-bitcoin/bitcoin_hashes

delete branch : 2020-10--0.9.3

delete time in 8 days

created tagrust-bitcoin/bitcoin_hashes

tag0.9.3

Simple library which implements a few hashes and does nothing else

created time in 8 days

created tagrust-bitcoin/bitcoin_hashes

tag0.9.2

Simple library which implements a few hashes and does nothing else

created time in 8 days

push eventrust-bitcoin/bitcoin_hashes

Andrew Poelstra

commit sha 2e98e79b3ff9ebf3cc906901c8b2fcab5e24897c

more serde_macro fixes; bump version to 0.9.3

view details

Andrew Poelstra

commit sha 823e19301c2f50a1787bf36d82a841c49b3db337

Merge pull request #102 from rust-bitcoin/2020-10--0.9.3 more serde_macro fixes; bump version to 0.9.3

view details

push time in 8 days

PR merged rust-bitcoin/bitcoin_hashes

more serde_macro fixes; bump version to 0.9.3

Still having rust-bitcoin build failures, this time with rustc 1.29.0, due to some module path import rule changes. Cleaned these up a bit; also replaced std by core everywhere; I don't know if we support serde+no_std but it's good to be consistent.

+15 -10

1 comment

3 changed files

apoelstra

pr closed time in 8 days

pull request commentrust-bitcoin/bitcoin_hashes

more serde_macro fixes; bump version to 0.9.3

Yeah, I guess for every crate that has macros we ought to have a test/example which uses them. It's a bit of a weird thing, the macro worked within this crate but not outside it, which is a unique-to-macros problem.

apoelstra

comment created time in 8 days

pull request commentrust-bitcoin/bitcoin_hashes

more serde_macro fixes; bump version to 0.9.3

Yeah, I guess for every crate that has macros we ought to have a test/example which uses them. It's a bit of a weird thing, the macro worked within this crate but not outside it, which is a unique-to-macros problem.

apoelstra

comment created time in 8 days

PR opened rust-bitcoin/bitcoin_hashes

more serde_macro fixes; bump version to 0.9.3

Still having rust-bitcoin build failures, this time with rustc 1.29.0, due to some module path import rule changes. Cleaned these up a bit; also replaced std by core everywhere; I don't know if we support serde+no_std but it's good to be consistent.

+15 -10

0 comment

3 changed files

pr created time in 9 days

create barnchrust-bitcoin/bitcoin_hashes

branch : 2020-10--0.9.3

created branch time in 9 days

PullRequestReviewEvent

issue closedrust-bitcoin/bitcoin_hashes

Use of private module `serde_macros` makes builds fail since 0.9.1

I'm still investigating this, so I'm not entirely sure whether this is our fault in bdk or if this is due to bitcoin_hashes.

Anyways, it looks like the newly-released 0.9.1 makes bdk builds fail with an error regarding the use of private modules somewhere in bitcoin_hashes (see attached log).

This was not happening with 0.9.0 and build trees that still have a cached 0.9.0 copy of bitcoin_hashes will still happily compile. Running cargo update and forcing the update of bitcoin_hashes in those trees to the new release will then make the build fail.

It should be noted that we don't directly import bitcoin_hashes as a dependency, but we depend on it indirectly through bitcoin 0.25.

Issue in our repo: bitcoindevkit/bdk#136

error[E0603]: module `serde_macros` is private
  --> /home/user/.cargo/registry/src/github.com-1ecc6299db9ec823/bitcoin_hashes-0.9.1/src/serde_macros.rs:98:22
   |
98 |         impl $crate::serde_macros::serde_details::SerdeHash for $t {
   |                      ^^^^^^^^^^^^ private module
   |
note: the module `serde_macros` is defined here
  --> /home/user/.cargo/registry/src/github.com-1ecc6299db9ec823/bitcoin_hashes-0.9.1/src/lib.rs:47:14
   |
47 | #[macro_use] mod serde_macros;
   |              ^^^^^^^^^^^^^^^^^

error[E0603]: module `serde_macros` is private
   --> /home/user/.cargo/registry/src/github.com-1ecc6299db9ec823/bitcoin_hashes-0.9.1/src/serde_macros.rs:107:25
    |
107 |                 $crate::serde_macros::serde_details::SerdeHash::serialize(self, s)
    |                         ^^^^^^^^^^^^ private module
    |
note: the module `serde_macros` is defined here
   --> /home/user/.cargo/registry/src/github.com-1ecc6299db9ec823/bitcoin_hashes-0.9.1/src/lib.rs:47:14
    |
47  | #[macro_use] mod serde_macros;
    |              ^^^^^^^^^^^^^^^^^

error[E0603]: module `serde_macros` is private
   --> /home/user/.cargo/registry/src/github.com-1ecc6299db9ec823/bitcoin_hashes-0.9.1/src/serde_macros.rs:113:25
    |
113 |                 $crate::serde_macros::serde_details::SerdeHash::deserialize(d)
    |                         ^^^^^^^^^^^^ private module
    |
note: the module `serde_macros` is defined here
   --> /home/user/.cargo/registry/src/github.com-1ecc6299db9ec823/bitcoin_hashes-0.9.1/src/lib.rs:47:14
    |
47  | #[macro_use] mod serde_macros;
    |              ^^^^^^^^^^^^^^^^^

error: aborting due to 3 previous errors

closed time in 9 days

afilini

issue commentrust-bitcoin/bitcoin_hashes

Use of private module `serde_macros` makes builds fail since 0.9.1

Sorry for letting this sit all weekend. Published 0.9.2 and yanked 0.9.1. Should be good now.

afilini

comment created time in 9 days

delete branch rust-bitcoin/bitcoin_hashes

delete branch : 2020-10--0.9.2

delete time in 9 days

push eventrust-bitcoin/bitcoin_hashes

Andrew Poelstra

commit sha 855087dc779ca30b3aa13ea33cd7a7b93e4627bf

fix serde macro visibility issue, release 0.9.2

view details

Andrew Poelstra

commit sha 9334fd0a4706318b913ac275167a9a014e4f47dc

Merge pull request #100 from rust-bitcoin/2020-10--0.9.2 fix serde macro visibility issue, release 0.9.2

view details

push time in 9 days

PR merged rust-bitcoin/bitcoin_hashes

fix serde macro visibility issue, release 0.9.2

Our last release broke the build for rust-bitcoin iand anything else using the serde impls in this crate) because it moved internals of the serde macros into the non-public serde_macros module. This PR exposes the module and bumps the version to fix downstream users.

+29 -2

0 comment

4 changed files

apoelstra

pr closed time in 9 days

pull request commentrust-bitcoin/rust-bitcoin

Add an example for bip32 key derivation

I'm sorry, it's my fault -- I broke the build in the last update of bitcoin_hashes. I'll try to have a fix published this weekend then I'll restart the CI here. Nothing you need to do.

rikitau

comment created time in 10 days

push eventrust-bitcoin/bitcoin_hashes

Andrew Poelstra

commit sha 855087dc779ca30b3aa13ea33cd7a7b93e4627bf

fix serde macro visibility issue, release 0.9.2

view details

push time in 10 days

PR opened rust-bitcoin/bitcoin_hashes

fix serde macro visibility issue, release 0.9.2

Our last release broke the build for rust-bitcoin iand anything else using the serde impls in this crate) because it moved internals of the serde macros into the non-public serde_macros module. This PR exposes the module and bumps the version to fix downstream users.

+22 -2

0 comment

4 changed files

pr created time in 11 days

push eventrust-bitcoin/bitcoin_hashes

Andrew Poelstra

commit sha 119d7eb15ff780b121cec5656187989b2863ef35

fix serde macro visibility issue, release 0.9.2

view details

push time in 11 days

create barnchrust-bitcoin/bitcoin_hashes

branch : 2020-10--0.9.2

created branch time in 11 days

pull request commentrust-bitcoin/rust-bitcoin

Change Cargo.toml serde dev deps

Can you give exact instructions to reproduce your issue?

JeremyRubin

comment created time in 11 days

push eventapoelstra/rust-bitcoin

Andrew Poelstra

commit sha 47f5c2d79787ba8bbc157c342298019855f369b1

add 413 (but not 500) to changelog

view details

push time in 11 days

push eventapoelstra/rust-bitcoin

Andrew Poelstra

commit sha a46797e70e03c40d7cd07ab53278d9fc4c437763

Update CHANGELOG.md Co-authored-by: Dr. Maxim Orlovsky <orlovsky@pandoracore.com>

view details

push time in 11 days

pull request commentrust-bitcoin/rust-bitcoin

Add an example for bip32 key derivation

This looks great!

I'm a little surprised that you had to do so much parsing of the seed -- it looks like this is a standard WIF-encoded privkey? Could you have used bitcoin::PrivateKey::from_str to do the parsing?

rikitau

comment created time in 11 days

delete branch rust-bitcoin/bitcoin_hashes

delete branch : 2020-10--0.9.1

delete time in 11 days

created tagrust-bitcoin/bitcoin_hashes

tag0.9.1

Simple library which implements a few hashes and does nothing else

created time in 11 days

push eventrust-bitcoin/bitcoin_hashes

Andrew Poelstra

commit sha db6f5f1f03b2f6c84d1da09e54c3eb28cd178b49

bump version to 0.9.1

view details

Andrew Poelstra

commit sha b88e807381744f2a178b3b0e0a35fb5c99ee71ba

fix comment in src/lib.rs and MSRV in the README

view details

Andrew Poelstra

commit sha 29de03173baac0c292f3d4430605bac583f6fba4

Merge pull request #96 from rust-bitcoin/2020-10--0.9.1 bump version to 0.9.1

view details

push time in 11 days

push eventrust-bitcoin/bitcoin_hashes

Andrew Poelstra

commit sha b88e807381744f2a178b3b0e0a35fb5c99ee71ba

fix comment in src/lib.rs and MSRV in the README

view details

push time in 11 days

pull request commentrust-bitcoin/bitcoin_hashes

bump version to 0.9.1

rebased, addressed #98, updated README

apoelstra

comment created time in 11 days

push eventrust-bitcoin/bitcoin_hashes

Andrew Poelstra

commit sha f3a8a8b631d3137d19e6f52f98cf45744e26353c

remove requirements on sha256t::Tag

view details

Andrew Poelstra

commit sha 536e4afc8e08810aed953a30a32fcecf61ebbfb0

Merge pull request #99 from rust-bitcoin/2020-10--sha256t-tag remove requirements on sha256t::Tag

view details

Jeremy Rubin

commit sha 9f111d52a18d36025001425cf4436e79d1d40491

add schemars support

view details

Jeremy Rubin

commit sha 3d3a986917a1437243fc883f2ed41f0aef32b318

Move most of serde trait impl out of macro

view details

Andrew Poelstra

commit sha 231731923fbd1a76d58d3c6785d64d95fa44360d

Merge pull request #97 from JeremyRubin/schemars Add Optional JSONSchema Support for Hash Types

view details

Andrew Poelstra

commit sha d9432ba37f44475f08f360294256573be6b279f8

Merge pull request #95 from JeremyRubin/master Move most of serde trait impl out of macro

view details

Andrew Poelstra

commit sha db6f5f1f03b2f6c84d1da09e54c3eb28cd178b49

bump version to 0.9.1

view details

Andrew Poelstra

commit sha cac7f9a979f1a34ddb537695b59c3344819a3a3e

remove requirements on sha256t::Tag

view details

Andrew Poelstra

commit sha 867e537365fe4e11d27462933d0e0f44c1d98ac0

fix comment in src/lib.rs and MSRV in the README

view details

push time in 11 days

push eventrust-bitcoin/bitcoin_hashes

Jeremy Rubin

commit sha 3d3a986917a1437243fc883f2ed41f0aef32b318

Move most of serde trait impl out of macro

view details

Andrew Poelstra

commit sha d9432ba37f44475f08f360294256573be6b279f8

Merge pull request #95 from JeremyRubin/master Move most of serde trait impl out of macro

view details

push time in 11 days

PR merged rust-bitcoin/bitcoin_hashes

Move most of serde trait impl out of macro

This slightly improves the serde macro code by moving most of the impl macro code to external traits and wrappers.

This should have no functional change, but it improves the type safety as the SerdeHash trait is declared in one place, type checked, and monomorphized where needed.

+104 -67

1 comment

1 changed file

JeremyRubin

pr closed time in 11 days

PullRequestReviewEvent

push eventrust-bitcoin/bitcoin_hashes

Jeremy Rubin

commit sha 9f111d52a18d36025001425cf4436e79d1d40491

add schemars support

view details

Andrew Poelstra

commit sha 231731923fbd1a76d58d3c6785d64d95fa44360d

Merge pull request #97 from JeremyRubin/schemars Add Optional JSONSchema Support for Hash Types

view details

push time in 11 days

PR merged rust-bitcoin/bitcoin_hashes

Add Optional JSONSchema Support for Hash Types

This patch adds functionality to optionally be able to generate json schema types.

The generated schemas are not 'complete' verification rules (as they don't know about things like length), but they can be useful for describing an expected return type from e.g. a web client. Future work can add a custom serializer (no great support for declaring this like serde attrs yet) which adds a length validation https://graham.cool/schemars/examples/7-custom_serialization/ and regex to ensure that all fields are hex hashes of appropriate length.

Schemars in particular is a relatively simple library (I've looked it over casually) and has only one new dependency compared to the rust bitcoin crate (dyn-clone).

While this is a WIP, it can be merged. But I'd love to get conceptual feedback here as the plan would be to introduce similar patches across the entire rust-bitcoin project so that any type (transactions, witnesses, blocks, etc) can get automatically generated schemas.

+242 -8

5 comments

12 changed files

JeremyRubin

pr closed time in 11 days

PullRequestReviewEvent

pull request commentrust-bitcoin/bitcoin_hashes

Add Optional JSONSchema Support for Hash Types

Needs rebase. Also, please remove the feature rename, it is not true that "the pattern is not to use the dep name", it is only true that sometimes (old versions of) Cargo forces us to rename features.

JeremyRubin

comment created time in 12 days

Pull request review commentrust-bitcoin/bitcoin_hashes

Add Optional JSONSchema Support for Hash Types

 std = [] serde-std = ["serde/std"] unstable = []  # for benchmarking fuzztarget = [] # used by other rust-bitcoin projects to make hashes almost-noops, DON'T USE THIS+json = ['schemars']

I agree, I don't understand at all what the point of renaming the feature is

JeremyRubin

comment created time in 12 days

PullRequestReviewEvent

Pull request review commentrust-bitcoin/bitcoin_hashes

Move most of serde trait impl out of macro

+#[cfg(feature = "serde")]+pub mod serde_details {+    use Error;++    use std::marker::PhantomData;+    struct HexVisitor<ValueT>(PhantomData<ValueT>);++    impl<'de, ValueT> crate::serde::de::Visitor<'de> for HexVisitor<ValueT>

I'd prefer if you put a use serde::{self, de, ser} at the top of this module

JeremyRubin

comment created time in 12 days

PullRequestReviewEvent

push eventrust-bitcoin/bitcoin_hashes

Andrew Poelstra

commit sha f3a8a8b631d3137d19e6f52f98cf45744e26353c

remove requirements on sha256t::Tag

view details

Andrew Poelstra

commit sha 536e4afc8e08810aed953a30a32fcecf61ebbfb0

Merge pull request #99 from rust-bitcoin/2020-10--sha256t-tag remove requirements on sha256t::Tag

view details

push time in 12 days

push eventrust-bitcoin/bitcoin_hashes

Andrew Poelstra

commit sha f3a8a8b631d3137d19e6f52f98cf45744e26353c

remove requirements on sha256t::Tag

view details

push time in 12 days

push eventrust-bitcoin/bitcoin_hashes

Andrew Poelstra

commit sha 1c8ae004b30ccf36267bdf0754b2561ac81c2b22

remove requirements on sha256t::Tag

view details

push time in 13 days

create barnchrust-bitcoin/bitcoin_hashes

branch : 2020-10--sha256t-tag

created branch time in 13 days

pull request commentrust-bitcoin/rust-bitcoin

bump version to 0.25.1

Should add https://github.com/rust-bitcoin/rust-bitcoin/pull/413 to changelog

apoelstra

comment created time in 13 days

push eventrust-bitcoin/rust-bitcoin

Steven Roose

commit sha f7422fb8d12714884533981eeb0b127240c9230c

Add MessageSignature type for dealing with signed messages

view details

Steven Roose

commit sha 3f65fb1aed4174e4fed056791668f08c143ef878

Don't support signed messages with p2wpkh addresses

view details

Andrew Poelstra

commit sha e7980ac8a5f26f0ac89b1053790d97f1346a68fc

Merge pull request #413 from stevenroose/message-signature Add MessageSignature type for dealing with signed messages

view details

push time in 13 days

PR merged rust-bitcoin/rust-bitcoin

Add MessageSignature type for dealing with signed messages

I do realize that adding a dependency might be controversial. Also, if anyone knows a better base64 crate, please let me know. The one I used is one I created some months ago based on the base64 crate but making it compatible with Rust v1.19.0, something they refused to do.

+215 -5

16 comments

4 changed files

stevenroose

pr closed time in 13 days

push eventrust-bitcoin/rust-bitcoin

Dr Maxim Orlovsky

commit sha a4a7035a947998c8d0d69dab206e97253fd8e048

String and serde de/serialization for SigHashType

view details

Dr Maxim Orlovsky

commit sha 00c34663638a28cbae534a8f2effe4d64bc5565e

Serde implementation for PSBT

view details

Dr Maxim Orlovsky

commit sha 8e0b9921ae2cb56a07df87ae47d4e1c21e9b6c9b

No space- and case insensitivity for SigHashType string serialization

view details

Andrew Poelstra

commit sha 65b52cfe39dde82ceeea4fcc5c5ecc7d4aac5833

Merge pull request #497 from LNP-BP/pending/psbt-serde PSBT serde implementation

view details

push time in 13 days

push eventapoelstra/secp256k1-mw

Jonas Nick

commit sha 458695544fb21ef4f7ec48bd67e59b9af7c0536e

Fix the MuSig module after integrating bip-schnorr updates 1. using xonly_pubkeys in MuSig for input public keys and the combined pk. For that to work we need to store whether the MuSig aggregated point has an even y in the session, may need to negate each signers secret key and may need to negate each signers public key in musig_partial_sig_verify. 2. using a tagged hash for the message hash.

view details

Andrew Poelstra

commit sha 726606d9cd9f6840eb56217989bc19bec6203875

re-enable musig module

view details

push time in 13 days

PullRequestReviewEvent

Pull request review commentrust-bitcoin/rust-bitcoin

Derivation path improvements

 impl serde::Serialize for ChildNumber {     } } +/// Trait that allows possibly failable conversion from a type into a+/// derivation path+pub trait IntoDerivationPath {+    /// Convers a given type into a [`DerivationPath`] with possible error+    fn into_derivation_path(self) -> Result<DerivationPath, Error>;+}+ /// A BIP-32 derivation path. #[derive(Clone, PartialEq, Eq, Ord, PartialOrd, Hash)] pub struct DerivationPath(Vec<ChildNumber>); impl_index_newtype!(DerivationPath, ChildNumber); serde_string_impl!(DerivationPath, "a BIP-32 derivation path"); +impl Default for DerivationPath {+    fn default() -> DerivationPath {+        DerivationPath::master()+    }+}++impl<T> IntoDerivationPath for T where T: Into<DerivationPath> {

I don't understand how the linked code addresses Steven's concern about Rust's coherence rules

dr-orlovsky

comment created time in 13 days

PullRequestReviewEvent
PullRequestReviewEvent

PR opened ElementsProject/secp256k1-zkp

WIP: Merge upstream schnorrsig PR

Alternate strategy to #92:

  1. Disables musig module by commenting out all references to in the autotools/Travis config
  2. Removes the schnorrsig module, which shouldn't break anything because only musig depended on it.
  3. Merge upstream PR 558, taking both sides of every conflict except .travis.yml where I took the secp256k1-zkp side
  4. Took Jonas' "fix MuSig for upstream changes" commit from #92
  5. TODO Need to add my own commit because some more stuff changed
  6. Re-enabled MuSig module
+2323 -1244

0 comment

21 changed files

pr created time in 13 days

create barnchapoelstra/secp256k1-mw

branch : 2020-10--update-schnorr

created branch time in 13 days

PullRequestReviewEvent

Pull request review commentrust-bitcoin/rust-bitcoin

PSBT serde implementation

 pub enum SigHashType {     /// 0x83: Sign one output and only this input (see `Single` for what "one output" means)     SinglePlusAnyoneCanPay	= 0x83 }+serde_string_impl!(SigHashType, "a SigHashType data");++impl fmt::Display for SigHashType {+    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {+        let s = match self {+            SigHashType::All => "SIGHASH_ALL",+            SigHashType::None => "SIGHASH_NONE",+            SigHashType::Single => "SIGHASH_SINGLE",+            SigHashType::AllPlusAnyoneCanPay => "SIGHASH_ALL|SIGHASH_ANYONECANPAY",+            SigHashType::NonePlusAnyoneCanPay => "SIGHASH_NONE|SIGHASH_ANYONECANPAY",+            SigHashType::SinglePlusAnyoneCanPay => "SIGHASH_SINGLE|SIGHASH_ANYONECANPAY",+        };+        f.write_str(s)+    }+}++impl str::FromStr for SigHashType {+    type Err = String;++    fn from_str(s: &str) -> Result<Self, Self::Err> {+        match s.replace(' ', "").to_ascii_uppercase().as_ref() {

I really don't like this being case-insensitive or space-insensitive. It will break roundtripping tests for this type or anything that contains it.

dr-orlovsky

comment created time in 13 days

PullRequestReviewEvent
more