Pieter Wuille
32e69fa0df
Replace CBitcoinSecret with {Encode,Decode}Secret
2018-02-19 18:55:20 -08:00
murrayn
d3e467520f
Properly alphabetize output of CLI --help option.
2018-02-01 23:19:41 -08:00
Alin Rus
a73aab7cd8
Use the character based overload for std::string::find.
...
std::string::find has a character based overload as can be seen here
(4th oveload): http://www.cplusplus.com/reference/string/string/find/
Use that instead of constantly allocating temporary strings.
2018-01-11 21:40:51 +01:00
Akira Takizawa
595a7bab23
Increment MIT Licence copyright header year on files modified in 2017
2018-01-03 02:26:56 +09:00
MeshCollider
1a445343f6
scripted-diff: Replace #include "" with #include <> (ryanofsky)
...
-BEGIN VERIFY SCRIPT-
for f in \
src/*.cpp \
src/*.h \
src/bench/*.cpp \
src/bench/*.h \
src/compat/*.cpp \
src/compat/*.h \
src/consensus/*.cpp \
src/consensus/*.h \
src/crypto/*.cpp \
src/crypto/*.h \
src/crypto/ctaes/*.h \
src/policy/*.cpp \
src/policy/*.h \
src/primitives/*.cpp \
src/primitives/*.h \
src/qt/*.cpp \
src/qt/*.h \
src/qt/test/*.cpp \
src/qt/test/*.h \
src/rpc/*.cpp \
src/rpc/*.h \
src/script/*.cpp \
src/script/*.h \
src/support/*.cpp \
src/support/*.h \
src/support/allocators/*.h \
src/test/*.cpp \
src/test/*.h \
src/wallet/*.cpp \
src/wallet/*.h \
src/wallet/test/*.cpp \
src/wallet/test/*.h \
src/zmq/*.cpp \
src/zmq/*.h
do
base=${f%/*}/ relbase=${base#src/} sed -i "s:#include \"\(.*\)\"\(.*\):if test -e \$base'\\1'; then echo \"#include <\"\$relbase\"\\1>\\2\"; else echo \"#include <\\1>\\2\"; fi:e" $f
done
-END VERIFY SCRIPT-
2017-11-16 08:23:01 +13:00
Matt Corallo
a6f33ea77d
Sanity-check script sizes in bitcoin-tx
2017-10-24 14:11:52 -04:00
Wladimir J. van der Laan
470c730e3f
Merge #10898 : Fix invalid checks (NULL checks after dereference, redundant checks, etc.)
...
76fed83
Avoid NULL pointer dereference when _walletModel is NULL (which is valid) (practicalswift)
4971a9a
Use two boolean literals instead of re-using variable (practicalswift)
b5fb339
Remove duplicate uriParts.size() > 0 check (practicalswift)
7466991
Remove redundant check (!ecc is always true) (practicalswift)
55224af
Remove redundant NULL checks after new (practicalswift)
Pull request description:
Contains:
* Remove redundant `NULL` checks after throwing `new`
* Remove redundant check (`!ecc` is always true)
* Remove duplicate `uriParts.size() > 0` check
* Use two boolean literals instead of re-using variable
Tree-SHA512: 30e9af8a9d5c8184836f8267b492aeb4e26eca171a3be08f634b3f39b3055b9fa9f06623f6c69b294ca13bf99743f7645cfac2b25e014ff74687bd085a997895
2017-10-12 23:55:50 +02:00
practicalswift
7466991670
Remove redundant check (!ecc is always true)
2017-10-02 15:47:43 +02:00
Matt Corallo
28d4542a0a
Disallow uncompressed pubkeys in bitcoin-tx [multisig] output adds
2017-09-20 23:29:59 -04:00
Pieter Wuille
5c8ff0d448
Introduce wrappers around CBitcoinAddress
...
This patch removes the need for the intermediary Base58 type
CBitcoinAddress, by providing {Encode,Decode,IsValid}Destination
function that directly operate on the conversion between strings
and CTxDestination.
2017-09-06 13:07:45 -07:00
Marko Bencun
bb81e17355
scripted-diff: stop using the gArgs wrappers
...
They were temporary additions to ease the transition.
-BEGIN VERIFY SCRIPT-
find src/ -name "*.cpp" ! -wholename "src/util.h" ! -wholename "src/util.cpp" | xargs perl -i -pe 's/(?<!\.)(ParseParameters|ReadConfigFile|IsArgSet|(Soft|Force)?(Get|Set)(|Bool|)Arg(s)?)\(/gArgs.\1(/g'
-END VERIFY SCRIPT-
2017-08-14 17:02:10 +02:00
practicalswift
90d4d89230
scripted-diff: Use the C++11 keyword nullptr to denote the pointer literal instead of the macro NULL
...
-BEGIN VERIFY SCRIPT-
sed -i 's/\<NULL\>/nullptr/g' src/*.cpp src/*.h src/*/*.cpp src/*/*.h src/qt/*/*.cpp src/qt/*/*.h src/wallet/*/*.cpp src/wallet/*/*.h src/support/allocators/*.h
sed -i 's/Prefer nullptr, otherwise SAFECOOKIE./Prefer NULL, otherwise SAFECOOKIE./g' src/torcontrol.cpp
sed -i 's/tor: Using nullptr authentication/tor: Using NULL authentication/g' src/torcontrol.cpp
sed -i 's/METHODS=nullptr/METHODS=NULL/g' src/test/torcontrol_tests.cpp src/torcontrol.cpp
sed -i 's/nullptr certificates/NULL certificates/g' src/qt/paymentserver.cpp
sed -i 's/"nullptr"/"NULL"/g' src/torcontrol.cpp src/test/torcontrol_tests.cpp
-END VERIFY SCRIPT-
2017-08-07 07:36:37 +02:00
Gregory Maxwell
3babbcb487
Remove confusing MAX_BLOCK_BASE_SIZE.
...
Some people keep thinking that MAX_BLOCK_BASE_SIZE is a separate
size limit from the weight limit when it fact it is superfluous,
and used in early tests before the witness data has been
validated or just to compute worst case sizes. The size checks
that use it would not behave any differently consensus wise
if they were eliminated completely.
Its correct value is not independently settable but is a function
of the weight limit and weight formula.
This patch just eliminates it and uses the scale factor as
required to compute the worse case constants.
It also moves the weight factor out of primitives into consensus,
which is a more logical place for it.
2017-07-14 19:24:17 +00:00
Matt Corallo
73c942ecd3
Use "replaceable" instead of "rbfoptin" in bitcoin-tx.
...
To be consistent with RPC naming
2017-07-05 18:11:22 -04:00
Pieter Wuille
d636f3943d
Merge #10536 : Remove unreachable or otherwise redundant code
...
4265bf351
Remove unreachable or otherwise redundant code (practicalswift)
Tree-SHA512: bc9666ab5d20c936d78c50c0361405aca9edd116602aa9bcd71a79a904b647ac9eca0651d1a9d530189a6ac1c4e235bfc69ec1a68f7e36cc14d6848ac2206b7b
2017-06-20 16:16:38 -07:00
Pieter Wuille
1ad3d4e126
Merge #10502 : scripted-diff: Remove BOOST_FOREACH, Q_FOREACH and PAIRTYPE
...
1238f13cf
scripted-diff: Remove PAIRTYPE (Jorge Timón)
18dc3c396
scripted-diff: Remove Q_FOREACH (Jorge Timón)
7c00c2672
scripted-diff: Fully remove BOOST_FOREACH (Jorge Timón)
a5410ac5e
Small preparations for Q_FOREACH, PAIRTYPE and #include <boost/foreach.hpp> removal (Jorge Timón)
Tree-SHA512: d3ab4a173366402e7dcef31608977b757d4aa07abbbad2ee1bcbcfa311e994a4552f24e5a55272cb22c2dcf89a4b0495e02e9d9aceae4b08c0bab668f20e324c
2017-06-13 18:05:58 -07:00
practicalswift
4265bf351a
Remove unreachable or otherwise redundant code
2017-06-12 15:01:46 +02:00
Wladimir J. van der Laan
29f80cd230
Merge #10545 : Use list initialization (C++11) for maps/vectors instead of boost::assign::map_list_of/list_of
...
3fb81a8
Use list initialization (C++11) for maps/vectors instead of boost::assign::map_list_of/list_of (practicalswift)
Tree-SHA512: 63a9ac9ec5799472943dce1cd92a4b14e7f1fe12758a5fc4b1efceaf2c85a4ba71dad5ccc50813527f18b192e7714c076e2478ecd6ca0d452b24e88416f872f7
2017-06-08 20:26:40 +02:00
practicalswift
3fb81a8480
Use list initialization (C++11) for maps/vectors instead of boost::assign::map_list_of/list_of
2017-06-06 21:29:16 +02:00
Luke Dashjr
23b0fe34f5
bitcoin-tx: rbfoptin: Avoid touching nSequence if the value is already opting in
2017-06-05 23:14:34 +00:00
Luke Dashjr
b005bf21a7
Introduce MAX_BIP125_RBF_SEQUENCE constant
2017-06-05 23:14:34 +00:00
Jonas Schnelli
575cde4605
[bitcoin-tx] add rbfoptin command
2017-06-05 23:13:24 +00:00
Jorge Timón
7c00c26726
scripted-diff: Fully remove BOOST_FOREACH
...
-BEGIN VERIFY SCRIPT-
sed -i 's/BOOST_FOREACH *(\(.*\),/for (\1 :/' ./src/*.h ./src/*.cpp ./src/*/*.h ./src/*/*.cpp ./src/*/*/*.h ./src/*/*/*.cpp ;
-END VERIFY SCRIPT-
2017-06-05 20:10:50 +02:00
Pieter Wuille
589827975f
scripted-diff: various renames for per-utxo consistency
...
Thanks to John Newberry for pointing these out.
-BEGIN VERIFY SCRIPT-
sed -i 's/\<GetCoins\>/GetCoin/g' src/*.cpp src/*.h src/*/*.cpp src/*/*.h
sed -i 's/\<HaveCoins\>/HaveCoin/g' src/*.cpp src/*.h src/*/*.cpp src/*/*.h
sed -i 's/\<HaveCoinsInCache\>/HaveCoinInCache/g' src/*.cpp src/*.h src/*/*.cpp src/*/*.h
sed -i 's/\<IsPruned\>/IsSpent/g' src/*.cpp src/*.h src/*/*.cpp src/*/*.h
sed -i 's/\<FetchCoins\>/FetchCoin/g' src/*.cpp src/*.h src/*/*.cpp src/*/*.h
sed -i 's/\<CoinsEntry\>/CoinEntry/g' src/*.cpp src/*.h src/*/*.cpp src/*/*.h
sed -i 's/\<vHashTxnToUncache\>/coins_to_uncache/g' src/*.cpp src/*.h src/*/*.cpp src/*/*.h
sed -i 's/\<vHashTxToUncache\>/coins_to_uncache/g' src/*.cpp src/*.h src/*/*.cpp src/*/*.h
sed -i 's/\<fHadTxInCache\>/had_coin_in_cache/g' src/*.cpp src/*.h src/*/*.cpp src/*/*.h
sed -i 's/\<coinbaseids\>/coinbase_coins/g' src/*.cpp src/*.h src/*/*.cpp src/*/*.h
sed -i 's/\<disconnectedids\>/disconnected_coins/g' src/*.cpp src/*.h src/*/*.cpp src/*/*.h
sed -i 's/\<duplicateids\>/duplicate_coins/g' src/*.cpp src/*.h src/*/*.cpp src/*/*.h
sed -i 's/\<oldcoins\>/old_coin/g' src/test/coins_tests.cpp
sed -i 's/\<origcoins\>/orig_coin/g' src/*.cpp src/*.h src/*/*.cpp src/*/*.h
-END VERIFY SCRIPT-
2017-06-01 13:15:25 -07:00
Pieter Wuille
f68cdfe92b
Switch from per-tx to per-txout CCoinsViewCache methods in some places
2017-06-01 11:56:06 -07:00
Wladimir J. van der Laan
6fdb319165
Merge #9743 : Fix several potential issues found by sanitizers
...
1d31093
fix tsan: utiltime race on nMockTime (Pieter Wuille)
321bbc2
fix ubsan: bitcoin-tx: not initialize context before IsFullyValid (Pieter Wuille)
Tree-SHA512: 39ea83c6122f06339cd425deb236357694e84ce2e4e9c61c10b90a8909b6e42e8c7b76396175cdc4723ababd2fa4f935d48f8a469baf853c5a06d7b962a5c8dc
2017-04-26 12:29:05 +02:00
Pieter Wuille
321bbc2079
fix ubsan: bitcoin-tx: not initialize context before IsFullyValid
2017-04-20 06:25:15 -07:00
Awemany
eb66bf9bdd
bitcoin-tx: Fix missing range check
...
The number of arguments is not checked MutateTxAddOutAddr(..), meaning
that
> ./bitcoin-tx -create outaddr=
accessed the vStrInputParts vector beyond its bounds.
This also includes work by jnewbery to check the inputs for
MutateTxAddPubKey()
2017-03-30 15:35:24 -04:00
practicalswift
8dc957ae06
Remove unused code
2017-03-17 04:37:43 +01:00
Wladimir J. van der Laan
d5d4ad87af
Merge #8883 : Add all standard TXO types to bitcoin-tx
...
0c50909
testcases: explicitly specify transaction version 1 (John Newbery)
b7e144b
Add test cases to test new bitcoin-tx functionality (jnewbery)
61a1534
Add all transaction output types to bitcoin-tx. (jnewbery)
1814b08
add p2sh and segwit options to bitcoin-tx outscript command (Stanislas Marion)
2017-01-12 12:24:35 +01:00
isle2983
27765b6403
Increment MIT Licence copyright header year on files modified in 2016
...
Edited via:
$ contrib/devtools/copyright_header.py update .
2016-12-31 11:01:21 -07:00
jnewbery
61a153443e
Add all transaction output types to bitcoin-tx.
...
This commit enhances bitcoin-tx so all remaining standard TXO types can be created:
- Pay to Pub Key
- Multi-sig
- bare multi-sig
- multi-sig in Pay To Script Hash
- multi-sig in Pay to Witness Script Hash
- multi-sig in Pay to Witness Script Hash, wrapped in P2SH
- Pay to Witness Pub Key Hash
- Pay to Witness Pub Key Hash, wrapped in P2SH
- Pay to Witness Script Hash
- Pay to Witness Script Hash, wrapped in P2SH
2016-12-29 15:40:40 +00:00
Stanislas Marion
1814b089fb
add p2sh and segwit options to bitcoin-tx outscript command
2016-12-29 15:40:40 +00:00
Matt Corallo
0cf86a6678
Introduce (and use) an IsArgSet accessor method
2016-12-23 21:30:16 -05:00
Pieter Wuille
f6fb7acda4
Move CTxInWitness inside CTxIn
2016-12-04 23:47:12 -08:00
Pieter Wuille
42fd8dee30
Make DecodeHexTx return a CMutableTransaction
2016-12-02 18:28:22 -08:00
Karl-Johan Alm
2f2625a0bb
Removed using namespace std from bitcoin-cli/-tx and added std:: in appropriate places.
2016-11-25 17:17:57 +09:00
Wladimir J. van der Laan
210891143b
Merge #8837 : allow bitcoin-tx to parse partial transactions
...
7451cf5
Allow bitcoin-tx to parse partial transactions (jnewbery)
2016-11-21 15:33:19 +01:00
UdjinM6
45d372f889
Missed one "return false" in recent refactoring in #9067
2016-11-10 00:53:55 +03:00
UdjinM6
bd0de1386e
Fix exit codes:
...
- `--help`, `--version` etc should exit with `0` i.e. no error ("not enough args" case should still trigger an error)
- error reading config file should exit with `1`
Slightly refactor AppInitRPC/AppInitRawTx to return standard exit codes (EXIT_FAILURE/EXIT_SUCCESS) or CONTINUE_EXECUTION (-1)
2016-11-04 18:40:33 +03:00
jnewbery
7451cf59cd
Allow bitcoin-tx to parse partial transactions
...
Restore pre V0.13.1 functionality to bitcoin-tx and allow it to parse 0-input partial transactions.
2016-11-04 09:10:44 +00:00
BtcDrak
b0aea80579
Sync bitcoin-tx with tx version policy
2016-10-16 23:22:15 +01:00
Jorge Timón
cdd79eb70f
C++11: s/boost::scoped_ptr/std::unique_ptr/
2016-09-01 19:05:07 +02:00
MarcoFalke
fa6dc9f0e5
Remove unused variables
2016-08-25 14:59:38 +02:00
NicolasDorier
745eb678ef
[RPC] signrawtransaction can sign P2WSH
2016-06-22 15:43:01 +02:00
Pieter Wuille
605e8473a7
BIP143: Signing logic
2016-06-22 15:43:01 +02:00
Pieter Wuille
2b1f6f9ccf
BIP141: Other consensus critical limits, and BIP145
...
Includes changes by Suhas Daftuar, Luke-jr, and mruddy.
2016-06-22 15:43:00 +02:00
Pieter Wuille
3dd410294d
BIP143: Verification logic
...
Includes simplifications by Eric Lombrozo.
2016-06-22 15:43:00 +02:00
Pieter Wuille
0ef1dd3e11
Refactor script validation to observe amounts
...
This is a preparation for BIP143 support.
2016-06-22 15:43:00 +02:00
Pieter Wuille
449f9b8deb
BIP141: Witness program
2016-06-22 15:42:59 +02:00