UdjinM6
6ec64f8ff6
Merge remote-tracking branch 'bitcoin/0.12' into mergebtc0.12
2016-02-21 04:09:11 +03:00
Pieter Wuille
889e5b3050
Correctly report high-S violations
...
Github-Pull: #7500
Rebased-From: 9d95187d5ddee56b6dfb55985008bdf70aed31f2
2016-02-10 20:32:42 +01:00
UdjinM6
a5ac60b868
Merge remote-tracking branch 'bitcoin/0.12' into HEAD
...
+ merge fixes
+ keepass on evhttp
2016-02-06 16:48:04 +03:00
Nathan Marley
ed4d606722
DRY max opcodes per script
...
Currently hard-coded, this just reduces redunduncy and could prevent
future errors if the value ever changes.
2016-01-24 19:05:46 +08:00
Pieter Wuille
52b29dca76
Get rid of inaccurate ScriptSigArgsExpected
2016-01-21 13:52:32 +01:00
mb300sd
605de4a88a
Rename OP_NOP2 to OP_CHECKLOCKTIMEVERIFY.
...
Github-Pull: #7213
Rebased-From: 37d271d7cce44885f835292ffe99b54399b014d6
2016-01-13 21:25:36 +00:00
MarcoFalke
333e1eaeea
Bump copyright headers to 2015
...
- Bump copyright headers to 2015
- [devtools] Rewrite fix-copyright-headers.py
- [devtools] Use git pretty-format for year parsing
Github-Pull: #7205
Rebased-From: fa6ad855e9159b2247da4fa0054f32fa181499ab fa24439ff3d8ab5b9efaf66ef4dae6713b88cb35 fa71669452e57039e4270fd2b33a0e0e1635b813
2016-01-05 14:13:33 +01:00
Wladimir J. van der Laan
327291af02
Merge pull request #6914
...
114b581
Prevector type (Pieter Wuille)
2015-12-01 10:22:14 +01:00
MarcoFalke
faf93f37fe
[trivial] Reuse translation and cleanup DEFAULT_* values
...
* DEFAULT_DISABLE_SAFEMODE = false
* Use DEFAULT_* constants for extern bools
2015-11-28 19:01:11 +01:00
Luke Dashjr
b966aa836a
Constrain constant values to a single location in code
2015-11-28 18:47:29 +01:00
Pieter Wuille
6e18268616
Switch to libsecp256k1-based validation for ECDSA
2015-11-15 16:06:57 +01:00
Pieter Wuille
114b5812f6
Prevector type
2015-11-13 18:15:20 +01:00
Pieter Wuille
0b9e9dca4e
Evict sigcache entries that are seen in a block
2015-10-31 01:15:11 +01:00
Pieter Wuille
830e3f3d02
Make sigcache faster and more efficient
2015-10-31 01:15:11 +01:00
Wladimir J. van der Laan
2a1090d4f5
Merge pull request #6351
...
65ef372
Add BIP65 to getblockchaininfo softforks list (Peter Todd)
cde7ab2
Add RPC tests for the CHECKLOCKTIMEVERIFY (BIP65) soft-fork (Peter Todd)
287f54f
Add CHECKLOCKTIMEVERIFY (BIP65) soft-fork logic (Peter Todd)
2015-10-23 13:33:13 +02:00
David Hill
b48da5c189
script: Remove magic numbers
...
This adds two new constants, MAX_OPS_PER_SCRIPT and
MAX_PUBKEYS_PER_MULTISIG.
2015-10-15 09:48:15 -04:00
Peter Todd
287f54fc90
Add CHECKLOCKTIMEVERIFY (BIP65) soft-fork logic
...
Based on the earlier BIP66 soft-fork logic implemented by Pieter
Wuille's 5a47811da5
2015-10-08 17:23:22 +02:00
Peter Todd
da894ab5da
Accept any sequence of PUSHDATAs in OP_RETURN outputs
...
Previously only one PUSHDATA was allowed, needlessly limiting
applications such as matching OP_RETURN contents with bloom filters that
operate on a per-PUSHDATA level. Now any combination that passes
IsPushOnly() is allowed, so long as the total size of the scriptPubKey
is less than 42 bytes. (unchanged modulo non-minimal PUSHDATA encodings)
Also, this fixes the odd bug where previously the PUSHDATA could be
replaced by any single opcode, even sigops consuming opcodes such as
CHECKMULTISIG. (20 sigops!)
2015-10-01 18:28:13 +02:00
Peter Todd
5d8709c3b7
Add IsPushOnly(const_iterator pc)
...
Allows IsPushOnly() to be applied to just part of the script for
OP_RETURN outputs.
2015-10-01 18:28:11 +02:00
Peter Todd
6a07eb676a
Make TX_SCRIPTHASH clear vSolutionsRet first
...
Previously unlike other transaction types the TX_SCRIPTHASH would not
clear vSolutionsRet, which means that unlike other transaction types if
it was called twice in a row you would get the result of the previous
invocation as well.
2015-10-01 18:27:22 +02:00
Wladimir J. van der Laan
48efbdbe98
Merge pull request #5264
...
af3208b
Resolve issue 3166. These changes decode valid SIGHASH types on signatures in assembly (asm) representations of scriptSig scripts. This squashed commit incorporates substantial helpful feedback from jtimon, laanwj, and sipa. (mruddy)
2015-09-25 19:19:07 +02:00
Wladimir J. van der Laan
ef30389e2a
Merge pull request #6544
...
c5c1edf
Fix spelling mistake in -> if. (Mark Friedenbach)
e846b2a
Correct a possibly intentional pun that is nevertheless hard to read: "two times of nLockTime." What is meant is that there are two kinds, or categories of nLockTime. (Mark Friedenbach)
2015-08-19 17:37:52 +02:00
Mark Friedenbach
e846b2a1e9
Correct a possibly intentional pun that is nevertheless hard to read: "two times of nLockTime." What is meant is that there are two kinds, or categories of nLockTime.
2015-08-10 18:08:30 -07:00
mruddy
af3208bfa6
Resolve issue 3166.
...
These changes decode valid SIGHASH types on signatures in assembly (asm) representations of scriptSig scripts.
This squashed commit incorporates substantial helpful feedback from jtimon, laanwj, and sipa.
2015-07-30 19:56:00 -04:00
Matt Corallo
cfc3dd3428
Also remove pay-2-pubkey from watch when adding a priv key
2015-07-20 16:01:37 -07:00
Pieter Wuille
9e38d0f745
Separate core memory usage computation in core_memusage.h
2015-07-20 11:17:53 -04:00
Evan Duffield
304ab6c7ab
Various improvements to the proposal system
...
- Proposal scripts are now checked correctly
- Fee transactions are created correctly for IX and non-IX types
2015-07-12 14:02:39 -07:00
Pieter Wuille
5098c47b24
Implement accurate memory accounting for mempool
2015-07-10 10:49:31 -04:00
Wladimir J. van der Laan
9546a977d3
Merge pull request #6335
...
9238ecb
Policy: MOVEONLY: 3 functions to policy.o: (Luke Dashjr)
627b9de
Policy: MOVEONLY: Create policy/policy.h with some constants (Jorge Timón)
2015-07-06 18:54:20 +02:00
Jonas Schnelli
5496253966
add CReserveScript to allow modular script keeping/returning
...
- use one CReserveScript per mining thread
2015-07-01 16:06:14 +02:00
Luke Dashjr
9238ecb417
Policy: MOVEONLY: 3 functions to policy.o:
...
- [script/standard.o] IsStandard
- [main.o] IsStandardTx
- [main.o] AreInputsStandard
Also, don't use namespace std in policy.cpp
2015-06-26 17:59:10 +02:00
Jorge Timón
627b9deff4
Policy: MOVEONLY: Create policy/policy.h with some constants
2015-06-26 17:59:07 +02:00
Wladimir J. van der Laan
41076aad0c
Merge pull request #6124
...
ffd75ad
Enable CHECKLOCKTIMEVERIFY as a standard script verify flag (Peter Todd)
bc60b2b
Replace NOP2 with CHECKLOCKTIMEVERIFY (BIP65) (Peter Todd)
48e9c57
Move LOCKTIME_THRESHOLD to src/script/script.h (Peter Todd)
99088d6
Make CScriptNum() take nMaxNumSize as an argument (Peter Todd)
2015-06-26 14:42:45 +02:00
Peter Todd
ffd75adce0
Enable CHECKLOCKTIMEVERIFY as a standard script verify flag
...
Transactions that fail CLTV verification will be rejected from the
mempool, making it easy to test the feature. However blocks containing
"invalid" CLTV-using transactions will still be accepted; this is *not*
the soft-fork required to actually enable CLTV for production use.
2015-06-22 00:00:48 -04:00
Peter Todd
bc60b2b4b4
Replace NOP2 with CHECKLOCKTIMEVERIFY (BIP65)
...
<nLockTime> CHECKLOCKTIMEVERIFY -> <nLockTime>
Fails if tx.nLockTime < nLockTime, allowing the funds in a txout to be
locked until some block height or block time in the future is reached.
Only the logic and unittests are implemented; this commit does not have
any actual soft-fork logic in it.
Thanks to Pieter Wuille for rebase.
Credit goes to Gregory Maxwell for the suggestion of comparing the
argument against the transaction nLockTime rather than the current
time/blockheight directly.
2015-06-21 23:56:28 -04:00
Pieter Wuille
9b4e7d9a5e
Add DummySignatureCreator which just creates zeroed sigs
2015-06-11 01:03:23 -07:00
Philip Kaufmann
5207f33f45
fix header include groups
2015-05-14 01:02:01 -04:00
Peter Todd
48e9c57cf0
Move LOCKTIME_THRESHOLD to src/script/script.h
...
Will now be needed by CHECKLOCKTIMEVERIFY code.
2015-05-09 04:33:49 -04:00
Peter Todd
99088d60d8
Make CScriptNum() take nMaxNumSize as an argument
...
While the existing numeric opcodes are all limited to 4-byte bignum
arguments, new opcodes will need different limits.
2015-05-09 04:29:47 -04:00
UdjinM6
64eebc3316
0.12 dirty merge'n'fix (bitcoin 0.10)
2015-04-04 19:24:37 +03:00
Pieter Wuille
18051c7fbd
Abstract out Ctransaction-specific signing into TransactionSignatureCreator
2015-03-21 07:06:18 -07:00
Wladimir J. van der Laan
4e853aa163
src/script/script.h: endian compatibility for PUSHDATA sizes
2015-03-06 17:21:58 +01:00
Wladimir J. van der Laan
fcf646c9b0
Merge pull request #5286
...
44e9a6b
Update the 'test_IsStandard' unit test (Flavien Charlon)
a930658
Change the default maximum OP_RETURN size to 80 bytes (Flavien Charlon)
2015-02-03 13:12:44 +01:00
Wladimir J. van der Laan
41e6e4caba
Merge pull request #5713
...
bf6cdeb
Increase coverage of DERSIG edge cases (Pieter Wuille)
819bcf9
Add RPC test for DERSIG BIP switchover logic (Pieter Wuille)
5a47811
BIP66 changeover logic (Pieter Wuille)
092e9fe
Example unit tests from BIP66 (Pieter Wuille)
80ad135
Change IsDERSignature to BIP66 implementation (Pieter Wuille)
2015-02-03 10:34:53 +01:00
Wladimir J. van der Laan
336f9fbd30
Merge pull request #5714
...
3916a81
Increase coverage of DERSIG edge cases (Pieter Wuille)
6da2028
Add RPC test for DERSIG BIP switchover logic (Pieter Wuille)
773c30d
BIP66 changeover logic (Pieter Wuille)
18695f0
Example unit tests from BIP66 (Pieter Wuille)
abfbeaf
Change IsDERSignature to BIP66 implementation (Pieter Wuille)
2015-02-03 10:33:58 +01:00
Pieter Wuille
2448d34298
Avoid storing a reference passed to SignatureChecker constructors
...
Rebased-From: 9fddceda44
Github-Pull: #5719
2015-02-03 08:52:13 +01:00
Pieter Wuille
1bbad80bf4
Use separate SignatureChecker for CMutableTransaction
...
Conflicts:
src/main.cpp
src/script/bitcoinconsensus.cpp
Rebased-From: 858809a33e
Github-Pull: #5719
2015-02-03 08:48:04 +01:00
Pieter Wuille
9fddceda44
Avoid storing a reference passed to SignatureChecker constructors
2015-02-02 20:19:46 -08:00
Pieter Wuille
858809a33e
Use separate SignatureChecker for CMutableTransaction
2015-02-02 20:19:12 -08:00
Pieter Wuille
773c30d756
BIP66 changeover logic
2015-02-01 17:57:38 -04:00