Tamas Blummer
caeadb42be
check if output is OP_RETURN
2018-06-23 14:49:55 +02:00
Tamas Blummer
3921899c65
add is_coin_base
...
add data access as copy
2018-06-01 21:39:51 +02: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
6826d8f35c
Stub out Sha2 calls when fuzzing to mask all but the first byte
2018-03-21 18:44:10 -04:00
Tamas Blummer
1a87244b2b
Implement Segwit addresses
2018-03-20 18:26:51 +01:00
Tamas Blummer
755fb454eb
integration with bitcoinconsenus
2018-03-12 17:17:16 +01:00
Andrew Poelstra
f233fcac61
util: add `bip143` module to create BIP143 signature hashes
2018-01-15 17:54:32 +00:00
Andrew Poelstra
e5f109221e
script: add `to_p2wsh()` and `is_p2swsh()` functions to allow easy segwit output computation
2017-12-06 15:39:37 +00:00
Andrew Poelstra
46439710d9
script: add `is_p2pkh()` function
2017-10-06 19:15:30 +00:00
Andrew Poelstra
93f103bdb5
script: fix broken push_int in script::Builder
2016-07-14 15:15:34 +00:00
Andrew Poelstra
698a23e32d
script: fix Debug impl bugs in Script, PUSHDATA1 not displayed correctly
2016-06-24 00:20:49 +00:00
Andrew Poelstra
1e47019221
cargo-clippy cleanups
2016-06-21 14:35:27 +00:00
Andrew Poelstra
220775015e
[BREAKING CHANGE] [v0.5 -> v0.6] Move nasty script stuff into a feature-gated module
2016-06-12 00:36:46 +00:00
Andrew Poelstra
6ccd157775
Add `into_vec` method to Script
2016-06-02 23:47:29 +00:00
Andrew Poelstra
30904b67a7
Derive Eq and friends for script::Instruction
2016-05-04 14:03:58 +00:00
Andrew Poelstra
f18157e774
Minor code changes for new rustc/clippy. No effects. Update minor version number
2016-02-18 19:44:29 +00:00
Andrew Poelstra
92c3b2459c
script: fix macro for future rustc changes
2016-02-18 17:56:51 +00:00
Andrew Poelstra
e393d0ec3b
Add useful Debug/Display for Script
2015-12-19 20:13:59 -06:00
Andrew Poelstra
a8ffce4904
Fix Script de/serialization (version -> 0.4.4)
2015-11-30 07:11:24 -06:00
Andrew Poelstra
66eb08aab5
[BREAKING CHANGE] Make `script::Builder` implement the actual Builder pattern
...
Rather than having methods taking &mut self, have them consume self
and return another Builder, so that methods can be chained.
Bump major version number.
2015-11-04 11:04:54 -06:00
Andrew Poelstra
5e03adc9aa
Changes for cargo-clippy warnings
2015-10-28 11:27:23 -05:00
Andrew Poelstra
8daf06cc1d
Update for latest libsecp: normalize signatures and use "lax DER" parsing
2015-10-26 14:39:25 -05:00
Andrew Poelstra
67c0b8fba7
More Error implementations
2015-10-25 12:55:48 -05:00
Andrew Poelstra
fdc854edd9
Remove Script() from LowerHex impl of Script
...
This is easy for downstream to add, not easy for them to remove. Plus scripts
have a pretty recognizable form and are usually obvious from context anyway.
2015-10-14 22:31:12 -05:00
Andrew Poelstra
ed34bb30f1
Add support for deserializing a script into a contracthash template
...
This is something Matt's contracthashtool does, so to copy its functionality
I need to support it. And it also seems generally useful.
2015-10-14 22:01:26 -05:00
Andrew Poelstra
16e2a3519b
Implement basic contract-hash support
...
Does not do stuff like validating the form of contracts, since this seems like
more of an application thing. Does not even distinguish a "nonce", just assumes
the contract has whatever uniqueness is needed baked in.
2015-10-14 15:29:19 -05:00
Andrew Poelstra
dba71d9253
[BREAKING CHANGE] Minor library updates
...
Breaking changes are:
opcode::All::from_u8 is now From<u8>
script::Builder::from_vec is now From<Vec<u8>>
script::Script::from_vec is now From<Vec<u8>>
2015-10-14 09:14:09 -05:00
Andrew Poelstra
99a4845719
Get library building on stable
2015-09-20 12:22:39 -05:00
Andrew Poelstra
2320f099c1
Remove broken wallet components
...
This was a fairly small change and gets all unit tests to pass.
2015-09-19 13:39:39 -05:00
Andrew Poelstra
adaf50a408
*** ALL TESTS PASS WITH RUSTC HEAD ***
...
There is still a lot of work to do modernizing the library, but the code
compiles cleanly with all unit tests passing now. Probably not much can
be done now until wizards-wallet is in better shape and the library is
actually in use.
2015-05-10 14:32:26 -05:00
Andrew Poelstra
b21acd440e
Get compiling for secp256k1 changes
2015-04-13 22:40:32 -05:00
Andrew Poelstra
17e27ec09f
*** IT COMPILES ON RUSTC NIGHTLY ***
...
Many unit test failures, but this is progress.
2015-04-10 20:55:59 -05:00
Andrew Poelstra
3117f95b62
Checkpoint commit: into warnings!
2015-04-10 18:15:57 -05:00
Andrew Poelstra
e658ffaeea
Rename ScriptBuilder to Builder as per rustc rfc PR 1036
2015-04-09 23:23:56 -05:00
Andrew Poelstra
e5a3e84c41
Checkpoint commit (nope, not yet to small commit sizes :))
...
This is mostly fixing compile errors in `cargo test`. We are down
to 3 in `cargo build` and 14 in `cargo test`, at least for this
round.
2015-04-08 17:23:45 -05:00
Andrew Poelstra
08a20f8764
Checkpoint commit
...
Work is stalled on some other library work (to give better lifetime
requirements on `eventual::Future` and avoid some unsafety), so
committing here.
There are only three errors left in this round :)
Also all the indenting is done, so there should be no more massive
rewrite commits. Depending how invasive the lifetime-error fixes
are, I may even be able to do sanely sized commits from here on.
2015-04-07 17:52:58 -05:00
Andrew Poelstra
200e0fe8e3
Checkpoint commit
...
27 files changed, 3944 insertions(+), 3812 deletions(-) :} I've
started doing whitespace changes as well, I want everything to
be 4-space tabs from now on.
2015-04-06 20:51:11 -05:00
Andrew Poelstra
811df8a713
Giant collection of fixes ... we are into lifetime errors now :)
2015-04-05 19:10:37 -05:00
Andrew Poelstra
7b89c15ed5
More changes, incl. dropping DumbHasher in favor of SipHasher
...
only json stuff left in this round of compiler errors :)
2015-04-05 14:43:44 -05:00
Andrew Poelstra
7738722ab5
Checkpoint commit; tons of disorganized changes for rustc
...
BTW after all this is done I'm gonna indent the entire codebase...
so `git blame` is gonna be totally broken anyway, hence my
capricious cadence of commits.
2015-04-05 12:58:49 -05:00
Andrew Poelstra
160f2f9ea6
Drop ThinVec, many other changes toward updating for librustc
2015-04-04 22:13:19 -05:00
Andrew Poelstra
11dbc717c4
Show -> Debug
2015-03-26 10:35:31 -05:00
Andrew Poelstra
df065c143b
fix attributes for compiler changes
2015-03-26 10:31:19 -05:00
Andrew Poelstra
2101e4a56d
Rename bitcoin-secp256k1-rs to secp256k1
2015-03-26 10:08:36 -05:00
Andrew Poelstra
c3377032f8
Many syntax changes for rustc, incomplete
2015-01-18 17:39:51 -06:00
Andrew Poelstra
97bfbe790b
Add a `clone` to script sat-checker to satisfy new soundness rules
...
This was actually a soundness bug waiting to happen fwiw...but I'm
still not so happy about it.
2014-09-11 08:03:36 -05:00
Andrew Poelstra
331e555e4c
Use `verify_raw` rather than `verify` to check signatures
...
`verify` cannot handle illegally padded signatures because it takes an object
of type `Signature`, which is a fixed-size type. This should have been part
of the previous commit --- an important lesson about running the unit tests
before every push!
2014-09-04 20:34:58 -05:00
Andrew Poelstra
20ce3721b7
Fix for upstream
2014-09-04 19:06:52 -05:00
Andrew Poelstra
6250f4fd9c
Checkpoint commit -- prefix-filtered address indexing works
2014-09-01 21:37:00 -05:00