Commit graph

7765 commits

Author SHA1 Message Date
Matt Corallo
f8977fa5eb Add contrib/fedpeg for fedpeg signers 2015-06-08 20:26:29 -07:00
Matt Corallo
fd7f08ac21 Add sidechain-manipulation.py script to automate sending/claiming 2015-06-08 20:26:27 -07:00
Matt Corallo
35dd865e4e EMPTY_COMMIT: Helper scripts follow 2015-06-08 17:57:21 -07:00
Matt Corallo
6584cd1490 Add block sign/sig combine/etc RPC functions 2015-06-08 17:57:21 -07:00
Matt Corallo
27f52128e5 Re-add support for bitcoin headers/proofs in sidechain validation 2015-06-08 17:57:21 -07:00
jtimon
50a5c50293 Implement basic private chain mode 2015-06-08 17:57:21 -07:00
jtimon
fa4d42fbfb Refactors in anticipation of private chain mode 2015-06-08 17:57:21 -07:00
jtimon
1a4473c539 4793: Pow: Create GenerateProof(CBlockHeader*) from ScanHash(const CBlockHeader*, uint32_t&, uint256*) and use GenerateProof() in regtest mining 2015-06-08 17:57:21 -07:00
jtimon
b648f0f6d7 Merged: Get rid of the internal miner's hashmeter 2015-06-08 17:57:21 -07:00
Pieter Wuille
dbb51ba628 5208: Abstract out Ctransaction-specific signing into TransactionSignatureCreator 2015-06-08 17:57:21 -07:00
Matt Corallo
a477588a10 EMPTY_COMMIT: blocksigning commits follow 2015-06-08 17:57:20 -07:00
Matt Corallo
a916584115 Lock IBD to false, fixing small-network, small-blockchain nets 2015-06-08 17:57:20 -07:00
Matt Corallo
8b9ea7c772 Use universal priority function in mining, too 2015-06-08 17:57:20 -07:00
Matt Corallo
eb1dc15909 Add priority bump to coins moving to chain, too.
This addresses bottlenecks where locked coins are in a few outputs
with lots of contention
2015-06-08 17:57:20 -07:00
Matt Corallo
48ebf73da8 Loosen the AllowFree threshold significantly 2015-06-08 17:57:20 -07:00
Matt Corallo
5846db6b79 Enable withdraw proof verification+CLTV+CSV 2015-06-08 17:57:20 -07:00
Matt Corallo
4db4d55064 No subsidy, 21 million genesis block 2015-06-08 17:57:20 -07:00
Matt Corallo
9121b5b415 Dynamically calculate the genesis/checkpoints 2015-06-08 17:57:20 -07:00
Matt Corallo
9565839787 Change coinbase maturity to 1 to make spending genesis easy. 2015-06-08 17:57:20 -07:00
Matt Corallo
f87a75e27f Make genesis coinbase spendable 2015-06-08 17:57:20 -07:00
Matt Corallo
db28472573 EMPTY_COMMIT: Start (name/genesis block/etc) commits which change to sidechaind from bitcoind 2015-06-08 17:57:20 -07:00
Matt Corallo
046c251b40 Add withdrawsign command to bitcoin-tx (sidechain-only for now) 2015-06-08 17:57:20 -07:00
Matt Corallo
eca4077baa Use RPC calls to check bitcoin blocks are valid and confirmed 2015-06-08 17:57:19 -07:00
Matt Corallo
6dc16a139c MOVEONLY: Move CallRPC into its own file 2015-06-08 17:57:19 -07:00
Matt Corallo
b15d9390cd SIDECHAIN_ONLY: Fix link errors for sidechain-only libs 2015-06-08 17:57:19 -07:00
Matt Corallo
ae2b142188 EMPTY_COMMIT: Start fedpeg/sidechain-specific commits 2015-06-08 17:57:19 -07:00
Matt Corallo
b6e861d748 Enable signing withdraw outputs 2015-06-08 17:57:19 -07:00
Matt Corallo
4d2d950ebc Make withdraw proof script errors significantly more verbose 2015-06-08 17:57:19 -07:00
Matt Corallo
f9adcd2e2c Auto-add fraud proof txn to mempool (with priority bump) 2015-06-08 17:57:19 -07:00
Matt Corallo
c19a65d56a Add sidechain tracking and double-spend proof generation 2015-06-08 17:57:19 -07:00
Matt Corallo
35c58420a4 Add withdraw-spent to CCoinsView/utxodb
Allows CCoinsCacheEntry/CCoinsMap entries to either be a CCoins
or, by setting a flag in the map key, a withdraw output from a
chain from which withdraw proofs are allowed to move to this
chain from.
2015-06-08 17:57:19 -07:00
Matt Corallo
ad584a25ba Check streams are empty after reading 2015-06-08 17:57:19 -07:00
Matt Corallo
67d4bc8cf4 Verify Withdraw proofs in script execution 2015-06-08 17:57:18 -07:00
Matt Corallo
8baa1b5ef5 Tweak SignatureChecker to expose a bit more about the transaction 2015-06-08 17:57:18 -07:00
Matt Corallo
e0bc30390e Add withdraw lock/out to script/standard.h (and, thus, RPC raw txn) 2015-06-08 17:57:18 -07:00
Matt Corallo
093f2e1e47 CScript::[IsWithdrawProof() + IsWithdrawLock()] (which are standard) 2015-06-08 17:57:18 -07:00
Matt Corallo
3c6faaa5da Add getint64 to CScriptNum 2015-06-08 17:57:18 -07:00
Matt Corallo
e7f9d03f81 EMPTY_COMMIT: Sidechain-specific commits follow 2015-06-08 17:57:18 -07:00
Pieter Wuille
f40342f0cc Get rid of CTxOut::GetHash 2015-06-08 17:57:18 -07:00
Matt Corallo
35ca77db2f Fail in DecodeHexTx if there is extra data at the end 2015-06-08 16:52:16 -07:00
Mark Friedenbach
d2aa2c8aff Allow specification of sequence numbers in bitcoin-tx 2015-06-08 16:52:16 -07:00
Matt Corallo
253f634396 Add -forceibdcomplete and use IBD to allow all-peer headers-sync.
This uses IsInitialBlockDownload to enable headers-fetching from
all peers (in addition to the existing recent-headers-tip check).
It also adds a hidden flag which allows you to force IBD to false,
enabling download from all peers.
2015-06-04 22:08:23 -07:00
Matt Corallo
f40b9feb2e Broaden when we request blocks/header from peers.
This starts a headers-sync with *all* peers instead of just "good"
ones after we finish initial headers sync.
It also downloads blocks from all peers after IBD finishes.
2015-06-04 22:08:23 -07:00
Matt Corallo
bb6eca865e Fix comment about cs_main (IsInitialBlockDownload locks cs_main) 2015-06-04 22:08:23 -07:00
Matt Corallo
4633dbe026 Add RPC call to generate and verify merkle blocks 2015-06-04 22:08:23 -07:00
Matt Corallo
386b0f2273 Add CMerkleBlock constructor for tx set + block and an empty one 2015-06-04 22:08:23 -07:00
Matt Corallo
1668f340a4 EMPTY_COMMIT: General interest commits follow 2015-06-04 22:08:23 -07:00
Bryan Bishop
aaf439bfd6 Implement watchonly support in fundrawtransaction
Support watchonly in fundrawtransaction, CreateTransaction, SelectCoins
and coin selection in general.

Coin selection is exposed over RPC through fundrawtransaction, and
watchonly can be enabled by passing includeWatching true (defaults to
false).

fundrawtransaction will first attempt to fund a transaction without
using watchonly, even when includeWatching is enabled. When this fails,
an includeWatching attempt is made.

When an includeWatching attempt at coin selection is performed (in
CreateTransaction), and all watchonlys are consumed leaving no funds
available for a fee, then CreateTransaction will not include a fee in
the transaction.

Also, includeWatching tests (for fundrawtransaction).

See also: https://github.com/bitcoin/bitcoin/pull/5503
2015-06-04 22:08:23 -07:00
Jonas Schnelli
c5b204dae3 fundrawtransaction overhaul
- fix typo
2015-06-04 22:08:23 -07:00
Jonas Schnelli
fceb64c0ac add simple unittest for fundrawtransaction (increase test coverage) 2015-06-04 22:08:23 -07:00