Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Test #2

Open
wants to merge 272 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
272 commits
Select commit Hold shift + click to select a range
948254b
Release 0.19
sanket1729 Apr 30, 2022
9a3b1fc
Update dependancies
sanket1729 Mar 15, 2022
65f7838
Add taproot psbt fields according to BIP371
sanket1729 May 10, 2022
ac1bd21
Add support for sighash from leafhash
sanket1729 May 12, 2022
bb72a28
Merge ElementsProject/rust-elements#122: Add support for sighash from…
sanket1729 May 15, 2022
6f6187c
Merge ElementsProject/rust-elements#121: Add taproot psbt fields acco…
sanket1729 May 15, 2022
8f65c48
Add Support for Psbt Sighash type
sanket1729 May 16, 2022
f02eedc
Remove std feature
sanket1729 May 16, 2022
f429873
Rename SigHashType to EcdsaSighashType
sanket1729 May 16, 2022
a860698
Add #[test] to unused test
sanket1729 May 16, 2022
35110f6
Add utility methods for fetching sighash types from inputs
sanket1729 May 16, 2022
d27565c
Fix Block decoding bug
sanket1729 May 18, 2022
554946d
Merge ElementsProject/rust-elements#123: Add Support for Psbt Sighash…
sanket1729 May 18, 2022
02ec7b2
Merge ElementsProject/rust-elements#124: Fix Block decoding bug
sanket1729 May 18, 2022
ab2090e
Serde fixes for sighash types
sanket1729 May 19, 2022
0706096
Merge ElementsProject/rust-elements#125: Serde fixes for sighash types
sanket1729 May 19, 2022
9d3079a
Merge ElementsProject/rust-elements#120: Update dependancies and rele…
apoelstra May 19, 2022
bdf4604
Deprecate get_ prefix for Block and Transaction methods
shesek Jun 7, 2022
2a35bad
Use the non-get-prefixed methods
shesek Jun 7, 2022
b9aa021
Merge ElementsProject/rust-elements#128: Deprecate get_ prefix for Bl…
apoelstra Jun 8, 2022
34cf67c
Add some default impls
sanket1729 Jun 9, 2022
211f13b
Merge ElementsProject/rust-elements#129: Add some default impls
apoelstra Jun 9, 2022
203542c
encode: Revert io::BufRead requirement on Encodable trait
stevenroose Jun 9, 2022
c1a7641
encode: Avoid duplicate allocation for commitments
stevenroose Jun 9, 2022
df63e79
Merge ElementsProject/rust-elements#130: encode: Revert io::BufRead r…
sanket1729 Jun 9, 2022
92f7884
Add script utility methods for taproot
sanket1729 Jun 10, 2022
e596aac
Release v0.19.1
stevenroose Jun 10, 2022
d7f3047
Merge ElementsProject/rust-elements#131: Add script utility methods f…
apoelstra Jun 10, 2022
5fac367
Merge ElementsProject/rust-elements#134: Release v0.19.1
apoelstra Jun 10, 2022
eaf57c8
upgrade to 2018 edition
delta1 Jun 10, 2022
36a298e
dynafed: Change fedpegprogram back to bitcoin::Script
stevenroose Jun 16, 2022
2029c78
Release v0.19.2
stevenroose Jun 16, 2022
fda08cf
Merge ElementsProject/rust-elements#135: dynafed: Change fedpegprogra…
apoelstra Jun 16, 2022
1b82c1e
Merge pull request #136 from stevenroose/release-0.19.2
stevenroose Jun 17, 2022
6375fca
Add Liquid asset id as a constant
stevenroose Jun 30, 2022
d1e2ac8
Merge ElementsProject/rust-elements#133: upgrade to 2018 edition
apoelstra Jul 1, 2022
5d0cf82
Export PsbtSigHashType
sanket1729 Jul 7, 2022
a33da34
Avoid a potential panic on malformed pegin witness
stevenroose Jul 13, 2022
a7b52f6
Replace ad-hoc opt_try! macro with .ok()?
stevenroose Jul 13, 2022
328ff1b
Merge ElementsProject/rust-elements#139: Avoid panic malformed pegin
apoelstra Jul 13, 2022
20de02d
script: Add utility methods on script::Instruction
stevenroose Jul 15, 2022
0909824
transaction: Simplify some statements using ? on Option
stevenroose Jul 15, 2022
3ba583d
Merge ElementsProject/rust-elements#140: Add Instruction utility meth…
apoelstra Jul 15, 2022
66c3b5d
Merge ElementsProject/rust-elements#138: Export PsbtSigHashType
sanket1729 Jul 18, 2022
42df094
Merge ElementsProject/rust-elements#137: Add Liquid asset id as a con…
sanket1729 Jul 18, 2022
5fc8d77
Make a bunch of stuff public
sanket1729 Aug 1, 2022
f2b89df
Add utility methods for computing Issuance and Reissuance AssetId
sanket1729 Aug 1, 2022
ed8bc5b
Merge ElementsProject/rust-elements#142: Make a bunch of stuff public
sanket1729 Aug 3, 2022
afd1338
Keep pegin asset as AssetId instead of confidential::Asset
stevenroose Aug 24, 2022
7bd49a4
Add and use from_pegin_witness and to_pegin_witness to PeginData
stevenroose Aug 24, 2022
b5cfed4
Add simple error indicator to PeginData::from_pegin_witness
stevenroose Aug 24, 2022
ea1676e
fix fuzzing
apoelstra Aug 30, 2022
67d7b2e
Merge ElementsProject/rust-elements#144: Add utility methods to creat…
apoelstra Aug 30, 2022
95fb5fa
Merge ElementsProject/rust-elements#145: fix fuzzing
apoelstra Aug 30, 2022
ebc6b8e
Export Blind*Proofs traits
LeoComandini Sep 7, 2022
3edf8da
Merge ElementsProject/rust-elements#146: Export Blind*Proofs traits
RCasatta Sep 23, 2022
ed79cdd
Move big test strings to external file
RCasatta Sep 29, 2022
ecb2c30
Use crappy rng for pset_blind_coinjoin, update test_vector
RCasatta Sep 29, 2022
948416b
Use crappy rng for raw_blind, update test_vector
RCasatta Sep 29, 2022
327ef6e
Merge ElementsProject/rust-elements#148: Crappy rng
RCasatta Sep 30, 2022
730072f
bump MSRV to 1.41.1
RCasatta Sep 27, 2022
5304cde
bitcoin: bump 0.28.0 -> 0.29.1
RCasatta Sep 27, 2022
a43e090
Fix warnings
RCasatta Sep 27, 2022
7a53252
update CHANGELOG
RCasatta Sep 30, 2022
6039cc4
Rename serde-feature to serde
RCasatta Oct 3, 2022
19e40ae
Merge ElementsProject/rust-elements#147: bitcoin: bump 0.28.0 -> 0.29.1
RCasatta Oct 4, 2022
2343923
Use ChaCha20Rng instead of CrappyRng
RCasatta Oct 4, 2022
2547a2d
Merge ElementsProject/rust-elements#150: Use ChaCha20Rng instead of C…
apoelstra Oct 4, 2022
d521aee
Remove public has_issuance field from TxIn
sanket1729 Aug 3, 2022
fa753b4
Cleanup bunch of blinding APIs
sanket1729 Aug 3, 2022
3107c25
Add support for issuance
sanket1729 Aug 4, 2022
2815e52
Fix pset Tweak serde
sanket1729 Aug 8, 2022
3583ae2
Fix pset key bug
sanket1729 Aug 8, 2022
cbc2d56
Add issuance surjection proof verification
sanket1729 Aug 8, 2022
2908bc1
Allow inserting inputs/outputs at specified positions
sanket1729 Aug 9, 2022
759d301
Add liquid testnet parameters
sanket1729 Aug 26, 2022
582325e
rustfmt: add src/pset/mod.rs and src/blind.rs
sanket1729 Oct 1, 2022
55b6cce
Merge ElementsProject/rust-elements#143: Blinding API cleanups
apoelstra Oct 5, 2022
d4fb1cb
release version 0.20.0
RCasatta Oct 6, 2022
0e11c63
Merge ElementsProject/rust-elements#151: release version 0.20.0
RCasatta Oct 7, 2022
4ec837a
Introduce Sequence and LockTime from rust-bitcoin
apoelstra Oct 18, 2022
e537cfd
locktime: copy locktime.rs, parse.rs, error.rs from rust-bitcoin
apoelstra Oct 18, 2022
ee76903
locktime: update comment slightly for Elements
apoelstra Oct 18, 2022
6038333
Merge ElementsProject/rust-elements#152: Introduce Sequence and LockT…
sanket1729 Oct 19, 2022
2085ad4
Add TxIn::pegin_prevout method to return Bitcoin prevout
stevenroose Jun 1, 2022
e847723
Merge ElementsProject/rust-elements#126: Add TxIn::pegin_prevout meth…
apoelstra Oct 19, 2022
84e1d7f
release 0.21
apoelstra Oct 19, 2022
06a109e
Merge ElementsProject/rust-elements#153: release 0.21
sanket1729 Oct 19, 2022
41d5030
Add PeginData::parse_tx inspector
stevenroose Oct 19, 2022
9413d88
Add PeginData::parse_merkle_proof inspector
stevenroose Oct 20, 2022
72afb47
Release 0.21.1
stevenroose Oct 20, 2022
a20dd4e
Merge ElementsProject/rust-elements#154: Add PeginData::mainchain_tx …
apoelstra Oct 21, 2022
626b04f
chore: typo
delta1 Oct 27, 2022
844577a
Merge ElementsProject/rust-elements#155: fix minor typo
apoelstra Oct 27, 2022
89703e5
dynafed: Extract FullParams from Params
stevenroose Oct 5, 2022
f9bafed
Merge ElementsProject/rust-elements#157: dynafed: Extract FullParams …
apoelstra Nov 24, 2022
7bbf981
move elementsd tests to their own crate
apoelstra Apr 12, 2023
f773496
elementsd-tests: consolidate setup code
apoelstra Apr 12, 2023
da9deae
elementsd-tests: make bitcoind and elementsd paths configurable
apoelstra Apr 12, 2023
f3acee0
elementsd-tests: clean up
apoelstra Apr 12, 2023
e630d82
commit a bitcoind and elementsd binary to the repo
apoelstra Apr 12, 2023
febf493
remove unused fuzztarget feature
apoelstra Apr 12, 2023
a39988d
ci: pin deps for 1.41.1
apoelstra Apr 12, 2023
2d14ff7
fix minimal versions of serde
apoelstra Apr 12, 2023
0c8fb64
Merge ElementsProject/rust-elements#162: separate out elementsd tests…
apoelstra Apr 12, 2023
063a8f5
Update TapTweak
uncomputable Apr 10, 2023
19ff852
Add TweakedKeyPair
uncomputable Apr 10, 2023
4eed656
Add TweakedKeyPair methods
uncomputable Apr 10, 2023
d58610e
Add from_keypair
uncomputable Apr 10, 2023
7b3f081
Add From implementations
uncomputable Apr 10, 2023
3e0db90
Add vsize
uncomputable Apr 11, 2023
dc6f520
Make TxOut generic in Prevouts
uncomputable Apr 10, 2023
4be1a87
Merge ElementsProject/rust-elements#161: Add vsize
apoelstra Apr 13, 2023
40e3035
Merge ElementsProject/rust-elements#160: Make TxOut generic in Prevouts
apoelstra Apr 13, 2023
6606a0d
Merge ElementsProject/rust-elements#159: Tap tweak
apoelstra Apr 14, 2023
b14f1a3
Remove std feature gates
uncomputable May 11, 2023
eba8e71
Merge ElementsProject/rust-elements#164: Remove std feature gates
apoelstra May 11, 2023
b537c23
add doccomment to all pub extern crates; export a couple more crates
apoelstra May 12, 2023
93b12bc
update elementsd to 0.8.0
apoelstra May 12, 2023
c49ce3f
fix decoding error (caught by fuzz test)
apoelstra May 12, 2023
cd1d258
Merge ElementsProject/rust-elements#165: Fix CI
apoelstra May 13, 2023
97972df
introduce bitcoin 0.30 as a (yet-unused) dependency
apoelstra Apr 13, 2023
e4a4af0
add `hex` module which is basically a copy/paste from bitcoin_hashes …
apoelstra Jun 7, 2023
f8f90c1
port all types in crate to new `hex` module
apoelstra Jun 7, 2023
9f4ef0f
confidential: remove `as_ref` which seems weirdly fragile
apoelstra Jun 7, 2023
35eaf43
update bech32/base58 to bitcoin 0.30.0
apoelstra Jun 7, 2023
bfb0fe7
move locktime-related stuff to bitcoin 0.30; delete PackedLockTime
apoelstra Jun 7, 2023
6d67a6c
update bitcoin_hashes to 0.12 (through bitcoin 0.30.0)
apoelstra Jun 8, 2023
443694b
update key/signature material to bitcoin 0.30.0
apoelstra Jun 8, 2023
ed3381b
bring transactions primitives up to bitcoin 0.30.0
apoelstra Jun 8, 2023
5c071d0
convert everything else to bitcoin 0.30 :)
apoelstra Jun 8, 2023
3542f91
rename bitcoin30 to bitcoin; delete bitcoin 0.29 dep
apoelstra Jun 8, 2023
53de6f2
update MSRV to 1.48.0 from 1.41.1
apoelstra Jun 8, 2023
197149f
run cargo clippy on the whole codebase
apoelstra Jun 8, 2023
c929437
run clippy with --all-targets --all-features
apoelstra Jun 8, 2023
0356a14
remove remaining 0.30 conversion scaffolding
apoelstra Jun 8, 2023
f18565e
release 0.22.0
apoelstra Jun 8, 2023
0e20b8a
ci: update to newer deps, modernize the CI job, add docs/clippy/fuzz
apoelstra Jun 8, 2023
74948ea
fix issues with documentation
apoelstra Jun 8, 2023
ba4aad3
Merge ElementsProject/rust-elements#166: Update crate to bitcoin 0.30
apoelstra Jun 15, 2023
3ca2a5f
add Height::ZERO associated constants
RCasatta Jul 17, 2023
d78493e
SigHashCache -> SighashCache
RCasatta Jul 17, 2023
43e36ff
SchnorrSigHashType -> SchnorrSighashType
RCasatta Jul 17, 2023
229be29
EcdsaSigHashType -> EcdsaSighashType
RCasatta Jul 17, 2023
468b787
SigHashType -> SighashType
RCasatta Jul 17, 2023
bb7bddc
SigHash -> Sighash
RCasatta Jul 17, 2023
0a97313
update CHANGELOG with Sighash renaming
RCasatta Jul 17, 2023
4a963db
Merge ElementsProject/rust-elements#169: Rename Sighash type downcasi…
apoelstra Jul 17, 2023
f3f7640
Merge ElementsProject/rust-elements#168: add Height::ZERO associated …
apoelstra Jul 17, 2023
3eecfad
Implement Ord for Transaction
RCasatta Jul 14, 2023
b9db351
Merge ElementsProject/rust-elements#167: Implement Ord for Transaction
apoelstra Jul 18, 2023
8d54d0d
release 0.23.0
RCasatta Jul 18, 2023
802c0f4
pin serde_json for 1.48.0
RCasatta Jul 19, 2023
2a5b5cd
Merge ElementsProject/rust-elements#170: release 0.23.0
apoelstra Jul 19, 2023
349de41
Create explicit empty and null values for some types
stevenroose Aug 2, 2023
ed9a8af
Fix examples
sanket1729 Aug 2, 2023
34baada
Actaully run the CI job
sanket1729 Aug 2, 2023
2514202
Merge ElementsProject/rust-elements#171: Create explicit empty and nu…
apoelstra Aug 2, 2023
1821ade
Merge ElementsProject/rust-elements#173: Fix examples
apoelstra Aug 2, 2023
c47e12e
fix 1.48.0 build
RCasatta Sep 14, 2023
f42203e
Add to and from base64 string to pset
RCasatta Sep 14, 2023
8456538
Remove slip77
LeoComandini Sep 18, 2023
fb1fd4e
Remove slip21
LeoComandini Sep 18, 2023
e9a4145
Merge ElementsProject/rust-elements#175: Add to and from base64 strin…
sanket1729 Sep 20, 2023
ca1b5c4
Merge ElementsProject/rust-elements#176: Remove slip77
sanket1729 Sep 20, 2023
ed066af
rename pset::str::Error to ParseError and expose it
RCasatta Sep 21, 2023
5d80b94
Merge ElementsProject/rust-elements#177: rename pset::str::Error to P…
sanket1729 Sep 22, 2023
3674c17
pset: fix remove_output
LeoComandini Oct 2, 2023
06d7f90
pset: tests: add coverage for remove_input/output
LeoComandini Oct 2, 2023
ecfc231
Merge ElementsProject/rust-elements#178: pset: fix remove_output
RCasatta Oct 3, 2023
1852ef5
ci: cargo update byteorder
RCasatta Nov 13, 2023
0a78d54
ELIP-0100 implementation
RCasatta Oct 20, 2023
a8f4c8c
remove --all from cargo test
RCasatta Nov 18, 2023
a19e347
Merge ElementsProject/rust-elements#182: ELIP-0100 implementation
apoelstra Nov 22, 2023
add54c8
elip100: add missing AssetMetadata::new method
RCasatta Nov 23, 2023
673d800
Merge ElementsProject/rust-elements#183: elip100: add missing AssetMe…
apoelstra Nov 23, 2023
386e3b8
Exposed RangeProofMessage publically
i5hi Jan 3, 2024
ca86f51
Merge ElementsProject/rust-elements#185: Exposed RangeProofMessage pu…
apoelstra Jan 3, 2024
2441f17
Updated doc for impl Value blind method - returns blinded value*
i5hi Jan 3, 2024
613204f
Merge ElementsProject/rust-elements#186: Updated doc for impl Value b…
apoelstra Jan 3, 2024
a110476
bump MSRV to 1.56.1
apoelstra Jan 2, 2024
e839f6f
bech32: replace blech32 implementation
apoelstra Jan 3, 2024
0d392dc
update rust-bitcoin to 0.31; fix hard errors
apoelstra Jan 3, 2024
1b49d43
replace VarInt::len with VarInt::size
apoelstra Jan 3, 2024
b721388
base64: use new API
apoelstra Jan 3, 2024
092ae61
Message::from_slice to Message::from_digest_slice
apoelstra Jan 3, 2024
07a52c0
Merge pull request #188 from ElementsProject/2024-01--bitcoin31
delta1 Jan 12, 2024
9887cf7
release 0.24.0
RCasatta Jan 12, 2024
dbeaf61
Merge ElementsProject/rust-elements#190: release 0.24.0
apoelstra Jan 12, 2024
d7a00c4
examples: fix typos in docs
vuittont60 Jan 15, 2024
0b1598f
src: fix typos in docs
vuittont60 Jan 15, 2024
19a4d0d
add test against fixed addresses
RCasatta Jan 15, 2024
4c1fcf3
Merge ElementsProject/rust-elements#191: Fix: typos in docs
RCasatta Jan 15, 2024
d2fc5c5
Merge ElementsProject/rust-elements#192: add test against fixed addre…
apoelstra Jan 15, 2024
3e0f06c
Fix typo in examples/pset_blind_coinjoin.rs
Thabokani Jan 21, 2024
c3885e1
Fix typo in src/opcodes.rs
Thabokani Jan 21, 2024
73206b4
Fix typo in src/pset/elip100.rs
Thabokani Jan 21, 2024
e43213a
Fix typo in src/pset/error.rs
Thabokani Jan 21, 2024
b6361d2
Fix typo in src/pset/mod.rs
Thabokani Jan 21, 2024
8e26a25
Fix typo in src/transaction.rs
Thabokani Jan 21, 2024
1f2711e
Merge ElementsProject/rust-elements#193: Fix typos
apoelstra Jan 21, 2024
b228a9f
Add public constructor for FullParams
philipr-za Jan 30, 2024
0c58166
Merge ElementsProject/rust-elements#196: Add public constructor for F…
apoelstra Jan 30, 2024
1d0f8fe
release 0.24.1
apoelstra Jan 30, 2024
2a2e43e
Merge ElementsProject/rust-elements#197: release 0.24.1
apoelstra Jan 30, 2024
efb92ea
Fix typo in examples/pset_blind_coinjoin.rs
xiaolou86 Feb 1, 2024
198c167
Fix typo in CHANGELOG.md
xiaolou86 Feb 1, 2024
40bf7c9
Merge ElementsProject/rust-elements#198: Fix typos
apoelstra Feb 1, 2024
6320c7c
pset: input: add explicit amount and asset, and their proofs
LeoComandini Apr 19, 2024
eb85a23
ci: cargo update cc
LeoComandini Apr 20, 2024
dd4ab1a
Merge ElementsProject/rust-elements#199: pset: input: add explicit am…
apoelstra Apr 23, 2024
1bde7a1
pset: input: add blinded issuance flag
LeoComandini Apr 22, 2024
0453428
pset: input: handle blinded_issuance
LeoComandini Apr 22, 2024
cd6ad48
pset: input: test issuance
LeoComandini Apr 22, 2024
908cb5e
pset: input: merge: add missing fields
LeoComandini Apr 23, 2024
d80aa1b
Merge ElementsProject/rust-elements#200: pset: input: add blinded iss…
apoelstra Apr 23, 2024
04ab514
pset: implement (de)serialize for AssetBlindingFactor
LeoComandini Apr 23, 2024
d1dfed4
pset: input: add asset blinding factor
LeoComandini Apr 23, 2024
db805b3
pset: output: add asset blinding factor
LeoComandini Apr 23, 2024
17d354e
pset: test input and output asset blinding factors
LeoComandini Apr 23, 2024
487f31b
Merge ElementsProject/rust-elements#201: pset: add optional asset bli…
apoelstra Apr 23, 2024
a89ff6e
fix a couple feature gates
apoelstra Jun 19, 2024
4ab1b77
blech32: delete unconstructable iterator struct
apoelstra Jun 19, 2024
172e36b
clippy: fix indentation in documentation
apoelstra Jun 19, 2024
8d58ec3
clippy: use u32::MAX rather than u32::max_value
apoelstra Jun 19, 2024
a7c5013
Merge ElementsProject/rust-elements#205: Fix CI
apoelstra Jun 20, 2024
639c964
transaction: range-check pegin data when parsing
apoelstra Jun 18, 2024
9cbb637
Merge pull request #203 from ElementsProject/2024-06--pegin-parse
delta1 Jun 21, 2024
b7fc82e
tx: add discount_weight and discount_vsize
delta1 Jun 19, 2024
1166089
pset: elip100: add and get token metadata
LeoComandini Jul 2, 2024
04dd353
Merge ElementsProject/rust-elements#204: tx: add discount_weight and …
apoelstra Jul 2, 2024
4917d7c
Merge ElementsProject/rust-elements#206: pset: elip100: add and get t…
apoelstra Jul 5, 2024
2ca6c7b
Revert "pset: input/output: add abf"
LeoComandini Jul 26, 2024
7737c82
Add elip_liquidex module
LeoComandini Jul 26, 2024
25dc2d2
Merge ElementsProject/rust-elements#207: Add elip_liquidex module
apoelstra Aug 7, 2024
5eefe85
apply rustfmt to address.rs
RCasatta Aug 14, 2024
084f7d4
Avoid instantiating base58 errors in Address::from_base58
RCasatta Aug 14, 2024
8ae550b
apply rustfmt to src/blind.rs
RCasatta Aug 14, 2024
6789492
apply rustfmt to pset/raw.rs
RCasatta Aug 14, 2024
e9a90cc
apply rustfmt to encode.rs
RCasatta Aug 14, 2024
4269728
apply tomlfmt to Cargo.toml
RCasatta Aug 14, 2024
f875ae2
Merge ElementsProject/rust-elements#210: Address err refactor
apoelstra Aug 14, 2024
4aad862
Stop implementing elements::Encodable with bitcoin::Encodable
RCasatta Aug 16, 2024
c08382c
Copy ReadExt/WriteExt from bitcoin
RCasatta Aug 19, 2024
f91e70c
Merge ElementsProject/rust-elements#212: Stop implementing elements::…
apoelstra Aug 20, 2024
ea70b14
ELIP-0101: rename from LiquiDEX
LeoComandini Aug 22, 2024
802c006
upgrade bitcoin 0.31 -> 0.32, fix test env vars
RCasatta Aug 22, 2024
f889525
improve logging on error
RCasatta Aug 22, 2024
85604b0
Merge ElementsProject/rust-elements#209: upgrade to bitcoin 0.32
apoelstra Aug 26, 2024
da338bd
ci: add a job checking wasm
RCasatta Jan 23, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
137 changes: 111 additions & 26 deletions .github/workflows/rust.yml
Original file line number Diff line number Diff line change
@@ -1,39 +1,124 @@
on: [push, pull_request]
on:
push:
branches:
- master
pull_request: {}

name: Continuous integration

jobs:
Tests:
name: Tests
Stable:
name: Test - stable toolchain
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- rust: stable
env:
DO_FUZZ: true
DO_INTEGRATION: true
- rust: beta
env:
DUMMY: true
- rust: nightly
env:
DUMMY: true
- rust: 1.36.0
env:
PIN_VERSIONS: true
steps:
- name: Checkout Crate
uses: actions/checkout@v3
- name: Checkout Toolchain
# https://github.com/dtolnay/rust-toolchain
uses: dtolnay/rust-toolchain@stable
- name: Running test script
env:
DO_DOCS: true
DO_DOCSRS: false
DO_FUZZ: false
DO_INTEGRATION: false
DO_LINT: true
DO_FEATURE_MATRIX: true
run: ./contrib/test.sh

Nightly:
name: Test - nightly toolchain
runs-on: ubuntu-latest
strategy:
fail-fast: false
steps:
- name: Checkout Crate
uses: actions/checkout@v3
- name: Checkout Toolchain
uses: dtolnay/rust-toolchain@nightly
- name: Running test script
env:
DO_DOCS: true
DO_DOCSRS: true
DO_FUZZ: false
DO_INTEGRATION: false
DO_LINT: false
DO_FEATURE_MATRIX: true
run: ./contrib/test.sh

MSRV:
name: Test - 1.56.1 toolchain
runs-on: ubuntu-latest
strategy:
fail-fast: false
steps:
- name: Checkout Crate
uses: actions/checkout@v3
- name: Checkout Toolchain
uses: dtolnay/[email protected]
- name: Running test script
env:
DO_DOCS: false
DO_DOCSRS: false
DO_FUZZ: false
DO_INTEGRATION: false
DO_LINT: false
DO_FEATURE_MATRIX: true
run: ./contrib/test.sh

Fuzz:
name: Fuzztests - 1.58.0 toolchain
runs-on: ubuntu-latest
strategy:
fail-fast: false
steps:
- name: Checkout Crate
uses: actions/checkout@v3
- name: Checkout Toolchain
uses: dtolnay/[email protected]
- name: Install test dependencies
run: sudo apt-get install -y binutils-dev libunwind8-dev
run: sudo apt-get update -y && sudo apt-get install -y binutils-dev libunwind8-dev libcurl4-openssl-dev libelf-dev libdw-dev cmake gcc libiberty-dev
- name: Running test script
env:
DO_DOCS: false
DO_DOCSRS: false
DO_FUZZ: true
DO_INTEGRATION: false
DO_LINT: false
DO_FEATURE_MATRIX: false
run: ./contrib/test.sh

Integration:
name: Integration tests - stable
runs-on: ubuntu-latest
strategy:
fail-fast: false
steps:
- name: Checkout Crate
uses: actions/checkout@v2
uses: actions/checkout@v3
- name: Checkout Toolchain
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: ${{ matrix.rust }}
override: true
uses: dtolnay/rust-toolchain@stable
- name: Running test script
env: ${{ matrix.env }}
env:
DO_DOCS: false
DO_DOCSRS: false
DO_FUZZ: false
DO_INTEGRATION: true
DO_LINT: false
DO_FEATURE_MATRIX: false
run: ./contrib/test.sh

Wasm:
name: Check WASM
runs-on: ubuntu-latest
strategy:
fail-fast: false
steps:
- name: Checkout Crate
uses: actions/checkout@v3
- name: Checkout Toolchain
uses: dtolnay/rust-toolchain@stable
- run: rustup target add wasm32-unknown-unknown
- run: cargo check --target wasm32-unknown-unknown
78 changes: 78 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@

# 0.24.1 - 2024-01-30

* [https://github.com/ElementsProject/rust-elements/pull/196](Add constructor to `FullParams`)

# 0.24.0 - 2024-01-12

* [https://github.com/ElementsProject/rust-elements/pull/188](Update rust-bitcoin to 0.31.0, and associated dependencies)
* [https://github.com/ElementsProject/rust-elements/pull/186](Updated doc for impl Value blind method - returns blinded value*)
* [https://github.com/ElementsProject/rust-elements/pull/185](Exposed RangeProofMessage publically)
* [https://github.com/ElementsProject/rust-elements/pull/183](elip100: add missing AssetMetadata::new method)
* [https://github.com/ElementsProject/rust-elements/pull/182](ELIP-0100 implementation)
* [https://github.com/ElementsProject/rust-elements/pull/178](pset: fix remove_output)
* [https://github.com/ElementsProject/rust-elements/pull/177](rename pset::str::Error to ParseError and expose it)
* [https://github.com/ElementsProject/rust-elements/pull/176](Remove slip77)
* [https://github.com/ElementsProject/rust-elements/pull/175](Add to and from base64 string to pset)
* [https://github.com/ElementsProject/rust-elements/pull/173](Fix examples)
* [https://github.com/ElementsProject/rust-elements/pull/171](Create explicit empty and null values for some types)

# 0.23.0 - 2023-06-18

* https://github.com/ElementsProject/rust-elements/pull/167 Implement Ord for Transaction
* https://github.com/ElementsProject/rust-elements/pull/168 add Height::ZERO associated constant
* https://github.com/ElementsProject/rust-elements/pull/169 rename all Sighash types downcasing the middle "h", for example: SigHash -> Sighash

# 0.22.0 - 2023-06-08

* [https://github.com/ElementsProject/rust-elements/pull/159](Update `TapTweak`, and `schnorr` module generally, to match rust-bitcoin)
* [https://github.com/ElementsProject/rust-elements/pull/160](Make `Prevouts` generic over type of `TxOut`)
* [https://github.com/ElementsProject/rust-elements/pull/161](Add `Transaction::vsize` method)
* [https://github.com/ElementsProject/rust-elements/pull/157](dynafed: extract `FullParams` from `Params`)
* [https://github.com/ElementsProject/rust-elements/pull/166](**Update bitcoin dependency to 0.30.0 and secp256k1-zkp dependency to 0.9.1**)

# 0.21.1 - 2022-10-21

- Add `PeginData::parse_tx`
- Add `PeginData::parse_merkle_proof`

# 0.21.0 - 2022-10-19

- Copy `Sequence` and `LockTime` structures from rust-bitcoin 0.29.1
- Add `Txin::pegin_prevout` method which returns a `bitcoin::Outpoint`; modify `PeginData::from_pegin_witness` to take a bitcoin outpoint

# 0.20.0 - 2022-06-10

- Remove has_issuance field in TxIn, calculate it directly to avoid the user provide it.
- Blinding API cleanup into smaller chunks
- Issuance: add support for blinding, and surjection proof verification
- Pset: allow inserting inputs/outputs at specified position, fix Tweak serde and key bug
- Add liquid test parameters
- the feature "serde-feature" is now renamed to just "serde"
- update MSRV to 1.41.1
- breaking change in serde in how the Nonce is serialized
- `Block`, `BlockHeader`, `PeginData`, `PegoutData` loose the Default impl
- update rust-bitcoin to 0.29.1
- update secp256k1-zkp to 0.7.0
- update bitcoin_hashes to 0.11.0

# 0.19.2 - 2022-06-16

- revert dynafed field `fedpeg_program` back to `bitcoin::Script`

# 0.19.1 - 2022-06-10

- revert use of `io::BufRead` back to `io::Read` in `ConsensusEncodable` trait
- deprecate `Block::get_size` in favor of new `Block::size`
- deprecate `Block::get_weight` in favor of new `Block::weight`
- deprecate `Transaction::get_size` in favor of new `Transaction::size`
- deprecate `Transaction::get_weight` in favor of new `Transaction::weight`
- implement `Default` on `PartiallySignedTransaction`, `TxIn`

# 0.19 - 2022-04-30 "The Taproot Release"

- Taproot support for complex taptrees compatible with elements taproot signature.
- Taproot psbt support with BIP 371
hash. Refer to spec [here](https://github.com/ElementsProject/elements/blob/master/doc/taproot-sighash.mediawiki)
- Support for new tapscript transaction introspection opcodes as per the [spec](https://github.com/ElementsProject/elements/blob/master/doc/tapscript_opcodes.md).
- Works with bitcoin 0.28 key types.
51 changes: 25 additions & 26 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,51 +1,46 @@
[package]
name = "elements"
version = "0.18.0"
version = "0.24.1"
authors = ["Andrew Poelstra <[email protected]>"]
description = "Library with support for de/serialization, parsing and executing on data structures and network messages related to Elements"
license = "CC0-1.0"
homepage = "https://github.com/ElementsProject/rust-elements/"
repository = "https://github.com/ElementsProject/rust-elements/"
documentation = "https://docs.rs/elements/"
edition = "2018"

[features]
default = [ "json-contract" ]
integration = [ "elementsd" ]

json-contract = [ "serde_json" ]
"serde-feature" = [
"bitcoin/use-serde",
"secp256k1-zkp/use-serde",
"serde"
default = ["json-contract"]

json-contract = ["serde_json"]
"serde" = [
"bitcoin/serde",
"bitcoin/serde",
"secp256k1-zkp/serde",
"actual-serde",
]
"fuzztarget" = []
base64 = ["bitcoin/base64"]

[dependencies]
bitcoin = "0.27"
secp256k1-zkp = { version = "0.4.0", features = [ "global-context", "hashes" ] }
slip21 = "0.2.0"

# While this dependency is included in bitcoin, we need this to use the macros.
# We should probably try keep this one in sync with the bitcoin version,
# to avoid requiring two version of bitcoin_hashes.
bitcoin_hashes = "0.10.0"
bech32 = "0.11.0"
bitcoin = "0.32.2"
secp256k1-zkp = { version = "0.11.0", features = ["global-context", "hashes"] }

# Used for ContractHash::from_json_contract.
serde_json = { version = "1.0", optional = true }

serde = { version = "1.0", features=["derive"], optional = true }
actual-serde = { package = "serde", version = "1.0.103", features = [
"derive",
], optional = true }

# This should be an optional dev-dependency (only needed for integration tests),
# but dev-dependency cannot be optional, and without optionality older toolchain try to compile it and fails
elementsd = { version="0.3.0", features=["0_21_0","bitcoind_22_0"], optional = true }

[dev-dependencies]
rand = "0.6.5"
serde_test = "1.0"
rand = "0.8"
rand_chacha = "0.3"
serde_test = "1.0.19"
serde_json = "1.0"
ryu = "<1.0.5"
serde_cbor = "0.8" # older than latest version to support 1.41.1
bincode = "1.3"
base64 = "0.13.0"

[[example]]
name = "pset_blind_coinjoin"
Expand All @@ -55,3 +50,7 @@ name = "raw_blind"

[[example]]
name = "tx"

[workspace]
members = ["elementsd-tests"]
exclude = ["fuzz"]
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,4 @@ structures and network messages related to Elements

## Minimum Supported Rust Version (MSRV)

This library should always compile with any combination of features on **Rust 1.36**.
This library should always compile with any combination of features on **Rust 1.48.0**.
1 change: 1 addition & 0 deletions clippy.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
msrv = "1.56.1"
Loading
Loading