Dr Maxim Orlovsky
994079b099
Refactoring error variants: removing unused; better names & inner types
2021-08-01 21:08:39 +02:00
Dr. Maxim Orlovsky
425b528e41
Merge pull request #634 from Kixunil/remove-fuzztarget
2021-08-01 18:30:03 +02:00
Martin Habovstiak
a291fee23c
Removed fuzztarget feature
...
It seems to be unused and when there's a need for it it's better to use
`--cfg fuzzing` as in `rust-secp256k1 ` and `bitcoin_hashes`.
2021-07-29 08:13:25 +02:00
Tobin Harding
adc1543e7c
Use consts for address prefix values
...
Instead of using magic numbers we can define constants for the address
prefix bytes. This makes it easier for future readers of the code to see
what these values are if they don't know them and/or see that they are
correct if they do know them.
2021-07-22 10:31:14 +10:00
Andrew Poelstra
5098011416
Merge pull request #631 from RCasatta/bump_027
...
Bump version to 0.27.0
2021-07-21 20:42:17 +00:00
Riccardo Casatta
6e06a32ccc
Wrap ErrorKind in Io enum variant, fix doc comment for the IO variant
2021-07-21 12:07:12 +02:00
Riccardo Casatta
1a2b54ff23
introduce constant KEY_VERSION_0
2021-07-21 12:07:10 +02:00
Riccardo Casatta
417cfe31e3
Derive common traits for structs and enum, make internal struct not pub
2021-07-21 12:07:08 +02:00
Riccardo Casatta
55ce3dd6ae
Fix validation error if SINGLE with missing corresponding output, remove check_index and check with get().ok_or(), more details in errors
2021-07-21 12:07:05 +02:00
Riccardo Casatta
2b3b22f559
impl Encodable for Annex to avoid allocation
2021-07-21 12:07:00 +02:00
Riccardo Casatta
1a7afed068
Add Reserved variant to SigHashType for future use (ie SIGHASH_ANYPREVOUT)
2021-07-21 12:05:42 +02:00
Riccardo Casatta
53d0e176d3
Deprecate bip143::SigHashCache in favor of sighash::SigHashCache
2021-07-21 12:05:40 +02:00
Riccardo Casatta
15e3caf62d
[test] Test also sighash legacy API with legacy tests
2021-07-21 12:05:37 +02:00
Riccardo Casatta
24acfe3672
Implement Bip341 signature hash, create unified SigHashCache for taproot, segwit and legacy inputs
2021-07-21 12:05:18 +02:00
Riccardo Casatta
683b9c14ff
add [En|De]codable trait for sha256::Hash
2021-07-21 10:36:06 +02:00
Riccardo Casatta
ef69f24fed
Bump version to 0.27.0
2021-07-21 08:53:51 +02:00
Andrew Poelstra
df4d70a37e
Merge pull request #627 from RCasatta/bigendian
...
Bigendian fixes and CI test
2021-07-20 20:56:16 +00:00
Andrew Poelstra
5e6b56aba4
Merge pull request #603 from devrandom/no_std_devrandom
...
no_std support, keeping MSRV
2021-07-20 16:40:18 +00:00
Devrandom
bba57d7d69
Embedded test via qemu
2021-07-15 09:04:49 +02:00
Devrandom
4826d0c6cc
no_std support
...
Based on the original work by Justin Moon.
*MSRV unchanged from 1.29.0.*
When `std` is off, `no-std` must be on, and we use the [`alloc`](https://doc.rust-lang.org/alloc/ ) and core2 crates. The `alloc` crate requires the user define a global allocator.
* Import from `core` and `alloc` instead of `std`
* `alloc` only used if `no-std` is on
* Create `std` feature
* Create `no-std` feature which adds a core2 dependency to polyfill `std::io` features. This is an experimental feature and should be
used with caution.
* CI runs tests `no-std`
* MSRV for `no-std` is 1.51 or so
2021-07-15 09:04:49 +02:00
Riccardo Casatta
11d5a30f86
comment only: explain reason for swap bytes
2021-07-02 12:05:09 +02:00
Riccardo Casatta
95460f5e3c
Add cross testing on big-endian architecture
2021-06-30 10:14:15 +02:00
Riccardo Casatta
0f4d2cfcaa
swap bytes in network code instead of swapping only in little-endian
2021-06-29 16:01:34 +02:00
Riccardo Casatta
8996249f2d
remove {to/from}_le from impl_int_encodable
...
they are a noop on little-endian and the following {to/from}_array_le are sufficient to deal with big-endian
2021-06-29 15:57:31 +02:00
Vis Virial
cdf7be4765
Add extra checks for `test_segwit_transaction()`.
2021-06-29 07:59:22 +09:00
Vis Virial
2bda871628
Remove `#[inline]` from `Transaction.get_strippedsize()`.
2021-06-29 07:40:13 +09:00
Vis Virial
c9dead410a
Implement `Transaction.get_strippedsize()`.
...
`Block.get_strippedsize()` is also simplified and optimized.
2021-06-29 07:34:37 +09:00
Vis Virial
1bf9147a6e
Optimize `Transaction.get_vsize()` (thanks @TheBlueMatt).
2021-06-29 07:14:01 +09:00
Vis Virial
2085dc32a7
Refactoring: define `Block.get_base_size()`.
2021-06-28 20:07:07 +09:00
Vis Virial
4ac9cef9e9
Implement `Block.get_strippedsize()` and `Transaction.get_vsize()`.
2021-06-28 20:03:42 +09:00
elsirion
94229ae964
Implement is_valid_for_network function for Address
2021-06-26 19:34:33 +02:00
Riccardo Casatta
8f27579c7f
fix documentation referencing macro var
2021-06-25 09:56:40 +02:00
Sebastian Geisler
4dae56908b
Seal `CheckedSum`
2021-06-23 15:14:24 +02:00
Riccardo Casatta
a86bced568
use Amount type in verify
2021-06-21 14:43:09 +02:00
Andrew Poelstra
abff973e83
Merge pull request #601 from LNP-BP/feat/bech32m-1
...
Bech32m adoption
2021-06-18 21:14:12 +00:00
Sebastian
e334c9deea
Merge pull request #616 from sgeisler/2021-06-dust-value-amount
...
Use `Amount` type for dust value calculation
2021-06-16 20:51:23 +02:00
Riccardo Casatta
4a4460b1a3
Add test for script serialize/deserialize
2021-06-16 10:17:56 +02:00
Riccardo Casatta
fadd368911
use different ser/de for Script in case of non human readable format
2021-06-16 10:17:40 +02:00
Dr Maxim Orlovsky
aa5c36df12
Covering all BIP-173 and BIP-350 test vectors
2021-06-16 08:43:18 +02:00
Matt Corallo
5d71a9dd89
Correct input length check for uin128 fuzzer
...
In an earlier version of the uint128 fuzz target, there was a byte
which incidated the specific operation to test. However, that was
dropped for the much-more-effective approach of simply testing all
operations in each fuzz iteration.
2021-06-15 23:10:38 +00:00
Sebastian
b0ae2a6842
Merge pull request #521 from RCasatta/errors_enum
...
Errors enum improvements
2021-06-15 14:01:56 +02:00
Matt Corallo
e99177c4fb
Merge pull request #614 from devrandom/2021-06-nostd1
...
std -> core
2021-06-14 21:45:48 +00:00
Riccardo Casatta
88c186e436
nits on display implementation
2021-06-14 12:24:31 +02:00
Riccardo Casatta
c26b3b9679
remove unused RngError, saving 24 bytes
2021-06-13 22:40:55 +02:00
Riccardo Casatta
9613181601
Split invalid version for address and extended key, saving also 16 bytes on the stack
2021-06-13 22:39:32 +02:00
Riccardo Casatta
bace07d8f8
Remove base58::Error::Other variant in favor of specific variant
2021-06-13 22:33:54 +02:00
Riccardo Casatta
0eaf45ca81
Use boxed sliced instead of Vec in InvalidPreimageHashPair variant
2021-06-13 22:33:52 +02:00
Riccardo Casatta
781b0e014a
Box big Transaction type in psbt error
2021-06-13 22:33:48 +02:00
Sebastian Geisler
9981da2ec8
Use `Amount` type for dust value calculation
2021-06-12 21:15:13 +02:00
Sebastian Geisler
6f7da5f2ef
Implement `CheckedSum` for amount types
...
It's just `Sum` with checked arithmetic.
2021-06-12 17:23:30 +02:00