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
Sebastian Geisler
f28110b31c
implement `Sum` for amount types
...
To be able to sum up iterators of amounts it is
not sufficient that these implement `Add`, they
also need to implement `Sum`.
2021-06-12 17:23:27 +02:00
Devrandom
95aa3bf153
std -> core
2021-06-11 17:28:04 +02:00
Matt Corallo
9c256cc88e
Add a fuzz check for `Uint128::increment`
2021-06-10 16:03:20 +00:00
Matt Corallo
a15f263c4e
Move the `increment` fn into the uint macro to add it to Uint128
2021-06-08 22:20:36 +00:00