aboutsummaryrefslogtreecommitdiff
path: root/src/rpcrawtransaction.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Refactor: CAddressBookData for mapAddressBookGavin Andresen2013-08-221-1/+1
| | | | | | | | Straight refactor, so mapAddressBook stores a CAddressBookData (which just contains a std::string) instead of a std::string. Preparation for payment protocol work, which will add the notion of refund addresses to the address book.
* main.h->core.h include dependency improvements.Jeff Garzik2013-06-241-1/+0
|
* Remove broken option to skip input checking for wallet txn.Matt Corallo2013-06-131-1/+1
|
* Removed AcceptToMemoryPool method from CTransaction. This method belongs to ↵Eric Lombrozo2013-06-051-1/+1
| | | | | | | | | | | | | | | | | the mempool instance. Removed AreInputsStandard from CTransaction, made it a regular function in main. Moved CTransaction::GetOutputFor to CCoinsViewCache. Moved GetLegacySigOpCount and GetP2SHSigOpCount out of CTransaction into regular functions in main. Moved GetValueIn and HaveInputs from CTransaction into CCoinsViewCache. Moved AllowFree, ClientCheckInputs, CheckInputs, UpdateCoins, and CheckTransaction out of CTransaction and into main. Moved IsStandard and IsFinal out of CTransaction and put them in main as IsStandardTx and IsFinalTx. Moved GetValueOut out of CTransaction into main. Moved CTxIn, CTxOut, and CTransaction into core. Added minimum fee parameter to CTxOut::IsDust() temporarily until CTransaction is moved to core.h so that CTxOut needn't know about CTransaction.
* CSecret/CKey -> CKey/CPubKey split/refactorPieter Wuille2013-05-301-4/+1
|
* add address and account information to listunspentmb300sd2013-02-271-0/+7
|
* Signrawtransaction shouldn't require redeemScript for non-p2sh txins.Gregory Maxwell2013-02-011-6/+10
| | | | | | The redeemScript functionality broke plain offline signing, this change makes it only look for that parameter when signing a p2sh input.
* CValidationState frameworkPieter Wuille2013-01-301-2/+3
|
* Merge pull request #2182 from gavinandresen/addressoracleGavin Andresen2013-01-261-1/+1
|\ | | | | Remove IsFromMe() check in CTxMemPool::accept()
| * Remove IsFromMe() check in CTxMemPool::accept()Gavin Andresen2013-01-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes issue #2178 : attacker could penny-flood with invalid-signature transactions to deduce which addresses belonged to your node. I'm committing this early for code review; I still need to write up a test plan. Executive summary of fix: check all transactions received from the network for penny-flood rate-limiting before adding to the memory pool. But do NOT ratelimit transactions added to the memory pool: - because of blockchain reorgs - stored in the wallet and added at startup - sent from the GUI or one of the send* RPC commands (CWallet::CommitTransaction) The limit-free-transactions code really should be a method on CNode, with counters per-peer. But that is a bigger change for another day.
* | Replace RelayMessage with RelayTransaction.Matt Corallo2013-01-161-1/+1
|/
* Introduce script verification flagsPieter Wuille2012-11-151-1/+1
| | | | | | | | These flags select features to be enabled/disabled during script evaluation/checking, instead of several booleans passed along. Currently these flags are defined: * SCRIPT_VERIFY_P2SH: enable BIP16-style subscript evaluation * SCRIPT_VERIFY_STRICTENC: enforce strict adherence to pubkey/sig encoding standards.
* Add redeemScript to listunspent output and signrawtransaction inputGavin Andresen2012-10-291-23/+46
| | | | | | | signrawtransaction was unable to sign pay-to-script-hash inputs when given the list of private keys to use. With this commit you can provide the p2sh redemption script in the list of inputs.
* Tests for raw transactions argument checkingGavin Andresen2012-10-291-28/+44
|
* change blockchain -> block chain (spelling)Philip Kaufmann2012-10-211-1/+1
| | | | | - Wiki says "block chain" is correct ;) - remove some unneeded spaces I found in the source, while fixing the spelling
* Transaction hash cachingPieter Wuille2012-10-201-1/+1
| | | | | | Use CBlock's vMerkleTree to cache transaction hashes, and pass them along as argument in more function calls. During initial block download, this results in every transaction's hash to be only computed once.
* Batch block connection during IBDPieter Wuille2012-10-201-11/+6
| | | | | | | During the initial block download (or -loadblock), delay connection of new blocks a bit, and perform them in a single action. This reduces the load on the database engine, as subsequent blocks often update an earlier block's transaction already.
* UltraprunePieter Wuille2012-10-201-44/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This switches bitcoin's transaction/block verification logic to use a "coin database", which contains all unredeemed transaction output scripts, amounts and heights. The name ultraprune comes from the fact that instead of a full transaction index, we only (need to) keep an index with unspent outputs. For now, the blocks themselves are kept as usual, although they are only necessary for serving, rescanning and reorganizing. The basic datastructures are CCoins (representing the coins of a single transaction), and CCoinsView (representing a state of the coins database). There are several implementations for CCoinsView. A dummy, one backed by the coins database (coins.dat), one backed by the memory pool, and one that adds a cache on top of it. FetchInputs, ConnectInputs, ConnectBlock, DisconnectBlock, ... now operate on a generic CCoinsView. The block switching logic now builds a single cached CCoinsView with changes to be committed to the database before any changes are made. This means no uncommitted changes are ever read from the database, and should ease the transition to another database layer which does not support transactions (but does support atomic writes), like LevelDB. For the getrawtransaction() RPC call, access to a txid-to-disk index would be preferable. As this index is not necessary or even useful for any other part of the implementation, it is not provided. Instead, getrawtransaction() uses the coin database to find the block height, and then scans that block to find the requested transaction. This is slow, but should suffice for debug purposes.
* Merge pull request #1742 from sipa/canonicalJeff Garzik2012-10-201-1/+1
|\ | | | | Check for canonical public keys and signatures
| * Check for canonical public keys and signaturesPieter Wuille2012-09-211-1/+1
| | | | | | | | Only enabled inside tests for now.
* | Document RPC error codesWladimir J. van der Laan2012-10-041-22/+22
|/ | | | Replace all "magic values" in RPCError(...) by constants.
* Merge pull request #1672 from gmaxwell/filter_listunspentGregory Maxwell2012-08-241-5/+31
|\ | | | | Listunspent txout address filtering and listaddressgroupings
| * Change CWallet addressgrouping to use CTxDestination instead of strings.Gregory Maxwell2012-08-241-5/+12
| | | | | | | | | | This is cleanup for the listaddressgroupings code. Also add some real help text.
| * Add txout address filtering to listunspent.Gregory Maxwell2012-08-231-4/+23
| | | | | | | | | | | | This applies on top of the coincontrol listaddressgroupings patch and makes finding eligible outputs from the groups returned by listaddressgroupings possible.
* | Avoid leaving return types or function attributes on their own lines.Gregory Maxwell2012-08-241-4/+2
|/
* JSON-RPC: Add "blocktime" and (for wallet transactions) "timereceived" to ↵Luke Dashjr2012-08-231-0/+1
| | | | transaction Object outputs
* Merge pull request #1693 from jgarzik/rpcwalletJeff Garzik2012-08-211-7/+0
|\ | | | | Move code to new modules rpcwallet.cpp, rpcblockchain.cpp
| * RPC, cosmetic: move more RPC code to new rpcblockchain.cpp moduleJeff Garzik2012-08-211-7/+0
| |
* | Allow signrawtransaction '...' null null 'hashtype'Gavin Andresen2012-08-201-10/+10
|/ | | | | | Allows the user to pass null as the second or third parameter to signrawtransaction, in case you need to (for example) fetch private keys from the wallet but want to specify the hash type.
* When using SIGHASH_SINGLE, do not sign inputs that have no corresponding ↵Gavin Andresen2012-08-201-1/+5
| | | | | | outputs. This fixes issue #1688
* Correctly handle missing inputs in signrawtransaction. Fixes #1654.Gregory Maxwell2012-08-061-3/+8
| | | | | | | Signrawtransaction rpc was crashing when some inputs were unknown, and even with that fixed was failing to handle all the known inputs if there were unknown inputs in front of them. This commit instead attempts to fetch inputs one at a time.
* New feature for signrawtransaction: specify signature hash (ALL/NONE/etc)Gavin Andresen2012-07-171-3/+24
|
* Bug fix: sendrawtransaction was not relaying properlyGavin Andresen2012-07-121-10/+23
|
* Use unsigned ints to fix signed/unsigned warningsGavin Andresen2012-07-051-3/+3
|
* Implement raw transaction RPC callsGavin Andresen2012-07-051-0/+470
Implement listunspent / getrawtransaction / createrawtransaction / signrawtransaction, to support creation and signing-on-multiple-device multisignature transactions.