Jean Pierre Dudey
0225b530cc
Implement `Display` trait instead of implementing `ToString` directly.
...
ExtendedPubKey and ExtendedPrivKey implemented `ToString` directly but
Rust documentation says to implement `Display` and get the `ToString`
implementation for free.
Signed-off-by: Jean Pierre Dudey <jeandudey@hotmail.com>
2018-08-08 19:11:16 -04:00
Andrew Poelstra
45c699f005
Merge pull request #112 from TheBlueMatt/2018-07-p2wsh-name
...
Clarify to_v0_p2wsh docs a bit further
2018-07-28 18:28:00 +00:00
Matt Corallo
3686cd7201
Clarify to_v0_p2wsh docs a bit further
2018-07-26 15:13:44 -04:00
Savil Srivastava
933dcaeb82
[code hygiene] remove deprecated rustc-serialize
...
Addresses #96 .
Turns out it was being used for hex encoding/decoding, so replaced that with the `hex` crate.
i chose to import the `decode` method as:
```
use hex::decode as hex_decode
```
so that it is clear to the reader what is being decoded when it is called. "decode" is such a generic sounding function name that it would get confusing otherwise.
2018-07-26 09:49:15 -07:00
Carl Dong
db76a63669
Fix to_v0_p2wsh docs
2018-07-25 17:11:27 -07:00
Sebastian Geisler
00cca03edd
use bitcoin-bech32 v0.8.0 and adapt internal API usage
2018-07-25 21:09:46 +02:00
Tamas Blummer
caeadb42be
check if output is OP_RETURN
2018-06-23 14:49:55 +02:00
Igor Aleksanov
2ff5f8e51e
Added module with consensus parameters ( #93 )
2018-06-23 10:23:34 +02:00
Igor Aleksanov
14a920ab7d
Added method to convert target from Uint256 to compact form ( #86 )
...
Renamed method for getting compact from u256
Removed unnecessary asserts from convert function
2018-06-12 20:58:25 +02:00
Roman Zeyde
69ea2a760b
Fix 2 small typos in comments
2018-06-09 22:27:40 +03:00
Andrew Poelstra
62d080afc7
Merge pull request #83 from tamasblummer/is_coinbase
...
add is_coin_base
2018-06-04 18:46:03 +00:00
Andrew Poelstra
dd176b4177
Merge pull request #84 from popzxc/add-regtest
...
Added regtest network
2018-06-04 18:42:05 +00:00
Andrew Poelstra
fb0c782df6
Merge pull request #89 from tamasblummer/wittness_block
...
add witness inv types
2018-06-04 18:34:28 +00:00
Andrew Poelstra
33261c7a12
Merge pull request #91 from TheBlueMatt/master
...
Check in fuzz inputs for all current targets
2018-06-04 18:32:19 +00:00
Matt Corallo
e2403a37fa
Don't try to do a base58 checksum if an address is excessively long
2018-06-04 10:23:55 -04:00
Matt Corallo
dab2f0b6b6
Switch fuzztarget SHA256 to simply XOR'ing all input bytes
2018-06-04 10:23:26 -04:00
Tamás Blummer
47b2364554
Merge branch 'master' into wittness_block
2018-06-04 04:24:51 +02:00
Matt Corallo
b78ab0f60b
Expose merkleroot(Vec<Sha256dHash>) publicly
...
In a project of mine I needed to check the merkle root before
moving some Vec<Transaction>s around, so need to be able to
calculate the merkle root on a Vec<Sha256dHash> directly.
2018-06-01 18:50:31 -04:00
Tamas Blummer
3921899c65
add is_coin_base
...
add data access as copy
2018-06-01 21:39:51 +02:00
Igor Aleksanov
97908ea058
Merge branch 'master' into add-regtest
2018-05-29 12:21:56 +03:00
Igor Aleksanov
34e228c699
Added regtest
...
Completed regtest integration to the code
Added tests for regtest
Get rid of panics
2018-05-29 12:21:41 +03:00
Igor Aleksanov
881972b2a5
Fix multiplication for uint256 ( #88 )
2018-05-28 20:41:07 +02:00
Tamas Blummer
9f2d737045
add witness inv types
2018-05-28 15:24:35 +02:00
Tamás Blummer
cf4024beb4
Merge branch 'master' into hotfix-network-from-str-err
2018-05-20 11:32:19 +02:00
Andrew Poelstra
ab96df162a
Merge branch 'master' into data-method-in-impl-array-newtype
2018-05-19 17:29:53 +00:00
Aleksey Sidorov
5771841144
Replace serde error with the io error.
2018-05-18 12:08:11 +03:00
Igor Aleksanov
13f1fe1f08
Merge branch 'master' into data-method-in-impl-array-newtype
2018-05-17 19:07:08 +03:00
Andrew Poelstra
cc23f09b10
Merge branch 'master' into improve-network-constant
2018-05-17 15:00:35 +00:00
Igor Aleksanov
582afb1611
Added impl display for uint
2018-05-16 13:13:48 +03:00
Igor Aleksanov
539a74de12
Added test for Sha256dHash::data()
2018-05-16 12:44:30 +03:00
Igor Aleksanov
5df8893ea1
Macro impl_array_newtype now generates method for representing data as array
2018-05-16 12:34:36 +03:00
Aleksei Sidorov
3224cf2b18
Implement `FromStr` for Network constant
2018-05-16 12:22:07 +03:00
Roman Zeyde
44d0ad90e9
block: fix a small typo in comment
2018-04-11 12:23:15 +03:00
Matt Corallo
8aa6253a3b
Correct consensus verify args, fix tests to catch error in travis
2018-04-02 15:38:43 -04:00
Matt Corallo
bfe889904a
Fix whitespace (s/\t/ /g)
2018-04-02 14:58:25 -04:00
Matt Corallo
0e1d927b47
Only provide the required TxIn to bip143 sighash_all.
...
This resolves an very unergonomic API by allowing iteration over a
Transaction being signed's inputs without needing to take a
conflicting reference to the transaction.
The API is still relateively unsafe in that its very easy to
generate bogus sighashes with it, but this is much better than it
was, and its not clear how to fix it further.
2018-04-02 12:42:59 -04:00
Matt Corallo
3793b2859a
Add a Transaction.get_weight() method, check it in fuzzing
2018-04-02 12:23:05 -04:00
Matt Corallo
f859dc8b26
Expose VarInt's encoded length
2018-04-02 12:23:05 -04:00
Matt Corallo
a33f00621b
Move witness inside of TxIn.
...
This is a rather large breaking API change, but is significantly
more sensible. In the "do not allow internal representation to
represent an invalid state" category, this ensures that witness
cannot have an length other than the number of inputs. Further,
it reduces vec propagation, which may help performance in some
cases by reducing allocs. Fianlly, this just makes more sense (tm).
Witness are a per-input field like the scriptSig, placing them
outside of the TxIn is just where they are serialized, not where
they logically belong.
2018-03-26 10:25:33 -04:00
Tamas Blummer
ae708447a2
create Address message with SocketAddr, get SocketAddr from Address message.
2018-03-23 15:12:06 +01:00
Matt Corallo
855b377d51
Fix crash in Address::from_str if input isn't long enough
2018-03-21 18:44:10 -04:00
Matt Corallo
6826d8f35c
Stub out Sha2 calls when fuzzing to mask all but the first byte
2018-03-21 18:44:10 -04:00
Andrew Poelstra
64987e349c
minor nits to get compilation to work on rustc 1.14 (currently shipping Debian version)
2018-03-21 18:49:46 +00:00
Tamas Blummer
1a87244b2b
Implement Segwit addresses
2018-03-20 18:26:51 +01:00
Andrew Poelstra
65d8df08b8
address: implement Bech32 support
2018-03-13 14:48:01 +00:00
Andrew Poelstra
9884bec577
add docs indicating change in Sha256dHash debug output
2018-03-12 21:50:35 +00:00
Andrew Poelstra
8968b081ca
util: add Debug output for Sha256d and Hash160 which don't reverse the bytes
2018-03-12 21:27:09 +00:00
Andrew Poelstra
ee1dfcf4a2
base58: remove Base58 traits, replace with encode/decode functions
2018-03-12 21:27:07 +00:00
Tamas Blummer
755fb454eb
integration with bitcoinconsenus
2018-03-12 17:17:16 +01:00
Andrew Poelstra
21f2baf58e
remove script interpreter
2018-03-09 20:30:11 +00:00